anchor.diff:    (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 t
  -				:ink +flipping-ink+))))
  +                       x y
  +                       (+ x width) (+ y height)
  +                       :filled t
  +                       :ink +flipping-ink+))))
   
   
   (defmethod display-cursor ((cursor cursor-mixin) state)
  
positive.code: ;	    do (do-char))))
  
  (defmethod stream-character-width ((stream standard-extended-output-stream) char &key (text-style nil))
    (text-style-character-width (or text-style (medium-text-style (sheet-medium stream)))
  			      (sheet-medium stream)
  			      char))
  
  (defmethod stream-string-width ((stream standard-extended-output-stream) string
  				&key (start 0) (end nil) (text-style nil))
  
negative.code:     (with-slots (baseline height vspace) stream
        (multiple-value-bind (cx cy) (stream-cursor-position stream)
  	(when (> new-baseline baseline)
            ;;(when (or (> baseline 0)
            ;;          (> height 0))
            ;;  (scroll-vertical stream (- new-baseline baseline))
            ;;  ) ; the beginning of the line should be moved down, but not the whole stream -- APD, 2002-06-18
  	  (setq baseline new-baseline))
  	(if (> new-height height)
  	    (setq height new-height))
  