anchor.diff:                                 dashes
                                  (line-style-dashes line-style))))
   
  -(define-command com-exit ()
  -  (throw 'exit nil))
  -
  -(define-command com-undo ()
  -  (let* ((output-history (clim-fig-output-record *application-frame*))
  -	 (record-count (output-record-count output-history))
  -         (record (and (not (zerop record-count))
  -		      (elt (output-record-children output-history)
  -			   (1- record-count)))))
  -    (if record
  -        (progn
  -          (erase-output-record record *standard-output*)
  -          (push record (clim-fig-redo-list *application-frame*)))
  -        (beep))))
  -
  -(define-command com-redo ()
  -  (let* ((record (pop (clim-fig-redo-list *application-frame*))))
  -    (if record
  -        (progn
  -          (stream-add-output-record *standard-output* record)
  -          (replay record *standard-output* (bounding-rectangle record)))
  -        (beep))))
  -
  -(define-command com-clear ()
  -  (setf (clim-fig-redo-list *application-frame*)
  -        (append (coerce (output-record-children (clim-fig-output-record
  -						 *application-frame*))
  -			'list)
  -                (clim-fig-redo-list *application-frame*)))
  -  (window-clear *standard-output*))
  -
  -(make-command-table 'file-command-table
  -		    :errorp nil
  -		    :menu '(("Exit" :command com-exit)))
  -
  -(make-command-table 'edit-command-table
  -		    :errorp nil
  -		    :menu '(("Undo" :command com-undo)
  -			    ("Redo" :command com-redo)
  -                            ("Clear" :command com-clear)))
  -
  -(make-command-table 'menubar-command-table
  -		    :errorp nil
  -		    :menu '(("File" :menu file-command-table)
  -                            ("Edit" :menu edit-command-table)))
  -
   (define-application-frame clim-fig ()
     ((drawing-mode :initform :line :accessor clim-fig-drawing-mode)
      (output-record :accessor clim-fig-output-record)
  
positive.code:       (set-status-line " ")
        (copy-from-pixmap canvas-pixmap 0 0 pixmap-width pixmap-height pane 0 0)
        (deallocate-pixmap canvas-pixmap)
        (draw-figure pane x1 y1 x y)
        (setf (clim-fig-redo-list *application-frame*) nil))))
  
  (defmethod handle-event ((pane canvas-pane) (event pointer-button-release-event))
    (when (= (pointer-event-button event) +pointer-right-button+)
      (with-slots (first-point-x first-point-y selected-object) pane
        (when selected-object
          (multiple-value-bind (old-x old-y) (output-record-position selected-object)
            (setf (output-record-position selected-object)
                  (values (+ old-x (- (pointer-event-x event) first-point-x))
                          (+ old-y (- (pointer-event-y event) first-point-y)))))
          (with-output-recording-options (*standard-output* :record nil)
            (with-bounding-rectangle* (x1 y1 x2 y2) (sheet-region pane)
              (draw-rectangle* pane x1 y1 x2 y2 :ink +background-ink+))
            (replay-output-record (stream-current-output-record *standard-output*)
                                  *standard-output*))
          (setf selected-object nil
                first-point-x nil
                first-point-y nil)))))
  
  (defun clim-fig ()
    (loop for port in climi::*all-ports*
  
negative.code:                         :filled fill-mode
                          :ink current-color :line-style line-style))))))
  
  (defun signum-1 (value)
    (if (zerop value)
        1
        (signum value)))
  
  (define-presentation-type figure ())
  
  (define-presentation-method highlight-presentation
      ((type figure) record stream state)
    (declare (ignore record stream state))
    nil)
  
  (defun handle-draw-object (pane x1 y1)
    (let* ((pixmap-width (round (bounding-rectangle-width (sheet-region pane))))
           (pixmap-height (round (bounding-rectangle-height (sheet-region pane))))
           (canvas-pixmap (allocate-pixmap pane pixmap-width pixmap-height)))
      (copy-to-pixmap pane 0 0 pixmap-width pixmap-height canvas-pixmap)
  