anchor.diff:    (with-slots (x y) cursor
       (letf (((cursor-state cursor) nil))
         (multiple-value-prog1
  -	  (setf (values x y) (values nx ny))))
  +          (setf (values x y) (values nx ny))))
       (when (and (cursor-active cursor)
  -	       (output-recording-stream-p (cursor-sheet cursor)))
  +               (output-recording-stream-p (cursor-sheet cursor)))
         (stream-close-text-output-record (cursor-sheet cursor)))))
   
   (defmethod flip-screen-cursor ((cursor cursor-mixin))
     (when (stream-drawing-p (cursor-sheet cursor))
       (with-slots (x y sheet width) cursor
         (let ((height (cursor-height cursor)))
  -	(draw-rectangle* (sheet-medium (cursor-sheet cursor))
  -			 x y
  -			 (+ x width) (+ y height)
  -			 :filled (ecase (cursor-appearance cursor)
  +        (draw-rectangle* (sheet-medium (cursor-sheet cursor))
  +                         x y
  +                         (+ x width) (+ y height)
  +                         :filled (ecase (cursor-appearance cursor)
                                      (:solid t) (:hollow nil))
  -			 :ink +flipping-ink+)))))
  +                         :ink +flipping-ink+)))))
   
   (defgeneric display-cursor (cursor state))
   
  
positive.code:   (with-slots (x y sheet width) cursor
      (let ((height (cursor-height cursor)))
        (case state
  	(:draw
  	 (draw-rectangle* (sheet-medium (cursor-sheet cursor))
  			  x y
  			  (+ x width) (+ y height)
  			  :filled (ecase (cursor-appearance cursor)
  				    (:solid t) (:hollow nil))
  			  :ink +foreground-ink+))
          (:erase
  	 ;; This is how I'd like this to work, as painting over with
  	 ;; the background ink is repugnant. I leave this disabled
  	 ;; because I'm concerned about infinite recursion if
  	 ;; replay-output-record calls here. --Hefner
  	 #+nil (repaint-sheet (cursor-sheet cursor)
  			      (make-bounding-rectangle x y (+ 1 x width)
  						       (+ 1 y height)))
  	 (draw-rectangle* (sheet-medium (cursor-sheet cursor))
  			  x y
  			  (+ x width) (+ y height)
  			  :filled (ecase (cursor-appearance cursor)
  				    (:solid t) (:hollow nil))
  			  :ink +background-ink+))))))
  
  ;;; Standard-Text-Cursor class
  
  
negative.code:     ((stream standard-extended-output-stream) dx dy)
    (multiple-value-bind (x y) (cursor-position (stream-text-cursor stream))
      (let ((dx (or dx 0))
            (dy (or dy 0)))
      (setf (cursor-position (stream-text-cursor stream))
            (values (+ x dx) (+ y dy))))))
  
  ;;;
  
  