anchor.diff:        ,@body
         (format ,gstream "grestore~%"))))
   
  +(defun format-postscript-number (number)
  +  (if (not (integerp number))
  +      (coerce number 'single-float)
  +      number))
  +
   (defmethod medium-draw-point* ((medium postscript-medium) x y)
     (let ((stream (postscript-medium-file-stream medium)))
       (with-graphics-state (stream)
  -      (format stream "~,15G ~,15G ~,15G 0 360 arc~%"
  -	      x y (/ (line-style-thickness (medium-line-style medium)) 2))
  +      (format stream "~A ~A ~A 0 360 arc~%"
  +	      (format-postscript-number x) (format-postscript-number y)
  +              (format-postscript-number
  +               (/ (line-style-thickness (medium-line-style medium)) 2)))
         (format stream "0 setlinewidth~%")
         (postscript-color stream medium)
         (format stream "fill~%"))))
  
positive.code:   (let ((stream (postscript-medium-file-stream medium)))
      (with-graphics-state (stream)
        (postscript-line-style-and-color stream medium)
        (format stream "~,15G ~,15G moveto ~,15G ~,15G lineto~%" x1 y1 x2 y2)
        (format stream "stroke~%"))))
  
  (defmethod medium-draw-lines* ((medium postscript-medium) coord-seq)
  
negative.code: (defmethod medium-draw-rectangle* ((medium postscript-medium) x1 y1 x2 y2 filled)
    (let ((stream (postscript-medium-file-stream medium)))
      (with-graphics-state (stream)
        (format stream "~A ~A moveto ~A ~A lineto ~A ~A lineto ~A ~A lineto~%"
                (format-postscript-number x1) (format-postscript-number y1)
                (format-postscript-number x2) (format-postscript-number y1)
                (format-postscript-number x2) (format-postscript-number y2)
                (format-postscript-number x1) (format-postscript-number y2))
        (format stream "closepath~%")
        (postscript-line-style-and-color stream medium)
        (format stream (if filled
  