anchor.diff:                          :filled fill-mode
                           :ink current-color :line-style line-style))
           (:bezier
  -	  (when fastp
  -	    (draw-text* pane
  -			"[Use the middle and right mouse button to set control points]"
  -			0
  -			20))
  -          (if fill-mode
  -              (let* ((cp-x1 (or cp-x1 x))
  -                     (cp-y1 (or cp-y1 y1))
  -                     (cp-x2 (or cp-x2 x1))
  -                     (cp-y2 (or cp-y2 y)))
  -                (unless (or (= x cp-x1 x1 cp-x2)
  -                            (= y cp-y1 y1 cp-y2)) ; Don't draw null beziers.
  -                  (let ((design (mcclim-bezier::make-bezier-area*
  -                                 (list x y cp-x1 cp-y1 cp-x2 cp-y2 x1 y1 x1 y1 x y x y))))
  -                    (mcclim-bezier:draw-bezier-design* pane design
  -                                                       :ink current-color
  -                                                       :line-style line-style))
  -                  (draw-line* pane x y cp-x1 cp-y1 :ink +red+)
  -                  (draw-line* pane x1 y1 cp-x2 cp-y2 :ink +blue+)))
  -              (let* ((cp-x1 (or cp-x1 x))
  -                     (cp-y1 (or cp-y1 y1))
  -                     (cp-x2 (or cp-x2 x1))
  -                     (cp-y2 (or cp-y2 y))
  -                     (design (mcclim-bezier::make-bezier-curve*
  -                              (list x y cp-x1 cp-y1 cp-x2 cp-y2 x1 y1))))
  -                (unless (or (= x cp-x1 x1 cp-x2)
  -                            (= y cp-y1 y1 cp-y2)) ; Don't draw null beziers.
  -                  (mcclim-bezier:draw-bezier-design* pane design
  -                                                     :ink current-color
  -                                                     :line-style line-style)
  -                  (draw-line* pane x y cp-x1 cp-y1 :ink +red+)
  -                  (draw-line* pane x1 y1 cp-x2 cp-y2 :ink +blue+)))))))))
  +         (let* ((cp-x1 (or cp-x1 x))
  +                (cp-y1 (or cp-y1 y1))
  +                (cp-x2 (or cp-x2 x1))
  +                (cp-y2 (or cp-y2 y)))
  +           (unless (or (= x cp-x1 x1 cp-x2)
  +                       (= y cp-y1 y1 cp-y2)) ; Don't draw null beziers.
  +             (let ((design (if fill-mode
  +                               (mcclim-bezier::make-bezier-area*
  +                                (list x y cp-x1 cp-y1 cp-x2 cp-y2 x1 y1 x1 y1 x y x y))
  +                               (mcclim-bezier::make-bezier-curve*
  +                                (list x y cp-x1 cp-y1 cp-x2 cp-y2 x1 y1)))))
  +               (draw-design pane design :ink current-color :line-style line-style))
  +             (draw-line* pane x y cp-x1 cp-y1 :ink +red+)
  +             (draw-line* pane x1 y1 cp-x2 cp-y2 :ink +blue+))))))))
   
   (defun signum-1 (value)
     (if (zerop value)
  
positive.code:   (setf (clime:label-pane-label (find-pane-named *application-frame* 'status))
  	string))
  
  (defun draw-figure (pane x y x1 y1 &key fastp cp-x1 cp-y1 cp-x2 cp-y2)
    (with-slots (line-style current-color fill-mode constrict-mode)
        *application-frame*
      (let* ((radius-x (- x1 x))
             (radius-y (- y1 y))
             (line-style (if fastp (medium-line-style pane) line-style))
             (fill-mode (if fastp nil fill-mode)))
        (when constrict-mode
          (case (clim-fig-drawing-mode *application-frame*)
            ((:line :arrow)
             (if (> (abs radius-x) (abs radius-y))
                 (setf y1 y)
  
negative.code:   nil)
  
  (defun handle-draw-object (pane x1 y1)
    (let* ((frame *application-frame*)
           (mode (slot-value frame 'drawing-mode))
           cp-x1 cp-y1 cp-x2 cp-y2
           output-record)
      (flet ((make-figure-output-record (x y)
               ;; Note that this can be NIL if (= x x1) and (= y y1).
               (setf output-record
                     (with-output-to-output-record (pane)
                       (with-output-as-presentation (pane nil 'figure)
                         (draw-figure pane mode x1 y1 x y
                                      :cp-x1 cp-x1 :cp-y1 cp-y1
                                      :cp-x2 cp-x2 :cp-y2 cp-y2))))))
        (case mode
          (:point
           (make-figure-output-record x1 y1)
           (replay output-record pane))
          (t
           (block processor
             (tracking-pointer (pane)
               (:pointer-motion (&key window x y)
                 (declare (ignore window))
                 (set-status-line
                  (format nil "~:(~A~) from (~D,~D) to (~D,~D)~@[ - Use ~
                               the middle and right mouse button to set ~
                               control points~]"
                          mode
                          (round x1) (round y1) (round x) (round y)
                          (eq mode :bezier)))
                 (when output-record
                   (repaint-sheet
                    pane
                    (with-bounding-rectangle* (x1 y1 x2 y2) output-record
                      (make-rectangle* (1- x1) (1- y1) (1+ x2) (1+ y2)))))
                 (make-figure-output-record x y)
                 (when output-record
                   (replay output-record pane)))
               (:pointer-button-release (&key event x y)
                 (when (= (pointer-event-button event)
                          +pointer-left-button+)
                   (return-from processor (values x y))))
               (:pointer-button-press (&key event x y)
                 (let ((button (pointer-event-button event)))
                   (cond ((= button +pointer-right-button+)
                          (setf cp-x1 x cp-y1 y))
                         ((= button +pointer-middle-button+)
                          (setf cp-x2 x cp-y2 y)))))))))
        (set-status-line " ")
        (when output-record
          (push output-record (clim-fig-undo-list frame))
          (stream-add-output-record pane output-record)
          (setf (clim-fig-redo-list *application-frame*) nil)
          (disable-commands frame 'com-redo)
          (enable-commands frame 'com-undo 'com-clear)))))
  
  (defun handle-move-object (pane figure first-point-x first-point-y)
    (multiple-value-bind (figure-x figure-y)
  