anchor.diff:                                 (medium-sheet medium))
                                 x y)
       (with-clx-graphics () medium
  -      (cond ((< (line-style-thickness line-style) 2)
  -             (let ((x (round-coordinate x))
  -                   (y (round-coordinate y)))
  -               (when (and (typep x '(signed-byte 16))
  -                          (typep y '(signed-byte 16)))
  -                 (xlib:draw-point mirror gc x y))))
  -            (t
  -             (let* ((radius (/ (line-style-thickness line-style) 2))
  -                    (min-x (round-coordinate (- x radius)))
  -                    (min-y (round-coordinate (- y radius)))
  -                    (max-x (round-coordinate (+ x radius)))
  -                    (max-y (round-coordinate (+ y radius))))
  -               (when (and (typep min-x '(signed-byte 16))
  -                          (typep min-y '(signed-byte 16)))
  -                   (xlib:draw-arc mirror gc min-x min-y
  -                                  (- max-x min-x) (- max-y min-y)
  -                                  0 (* 2 pi) t))))))))
  +      (let ((diameter (line-style-effective-thickness line-style medium)))
  +        (if (< diameter 2)
  +            (let ((x (round-coordinate x))
  +                  (y (round-coordinate y)))
  +              (when (and (typep x '(signed-byte 16))
  +                         (typep y '(signed-byte 16)))
  +                (xlib:draw-point mirror gc x y)))
  +            (let* ((radius   (round diameter 2))
  +                   (diameter (round diameter))
  +                   (min-x    (round-coordinate (- x radius)))
  +                   (min-y    (round-coordinate (- y radius))))
  +              (when (and (typep min-x '(signed-byte 16))
  +                         (typep min-y '(signed-byte 16)))
  +                (xlib:draw-arc mirror gc min-x min-y
  +                               diameter diameter
  +                               0 (* 2 pi) t))))))))
   
   
   (defmethod medium-draw-points* ((medium clx-medium) coord-seq)
  
positive.code:         (unless (eq (line-style-joint-shape line-style)
                      (line-style-joint-shape old-line-style))
            (setf (xlib:gcontext-join-style gc)
                  (line-style-joint-shape line-style)))
          ;; we could do better here by comparing elements of the vector
          ;; -RS 2001-08-24
          (unless (and (eq (line-style-dashes line-style)
                           (line-style-dashes old-line-style))
                       (eq (line-style-unit line-style)
                           (line-style-unit old-line-style)))
            (setf (xlib:gcontext-line-style gc)
                  (if (line-style-dashes line-style) :dash :solid)
                  (xlib:gcontext-dashes gc)
                  (case (line-style-dashes line-style)
                    ((t nil) (round (* (line-style-scale line-style medium) 3)))
                    (otherwise (line-style-effective-dashes line-style medium)))))))))
  
  (defun %clip-region-pixmap (medium mask mask-gc clipping-region x1 y1 width height)
    (typecase clipping-region
  
negative.code:                      (sqrt (+ (expt x 2) (expt y 2))))))))
  
  (defun line-style-effective-thickness (line-style medium)
    (* (line-style-thickness line-style)
       (line-style-scale line-style medium)))
  
  (defun line-style-effective-dashes (line-style medium)
    (when-let ((dashes (line-style-dashes line-style)))
      (let ((scale (line-style-scale line-style medium)))
        (if (eq dashes t)
            (* scale 3)
            (map 'list (lambda (d) (* scale d)) dashes)))))
  
  (defmethod (setf medium-line-style) :before (line-style (medium clx-medium))
    (with-slots (gc) medium
  