anchor.diff:      ((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)))
  +          (dy (or dy 0)))
       (setf (cursor-position (stream-text-cursor stream))
  -	  (values (+ x dx) (+ y dy))))))
  +          (values (+ x dx) (+ y dy))))))
   
   ;;;
   
  
positive.code: ;;; down. Using SUBSEQ does fix this interaction that's been here
  ;;; since 4/16/03 - Mikemac 12/6/2003
  (defmethod stream-write-string ((stream standard-extended-output-stream) string
  				&optional (start 0) end)
    (let ((seg-start start)
  	(end (or end (length string))))
      (with-cursor-off stream
       (loop for i from start below end do
         (when (char= #\Newline
  		    (char string i))
  	 (seos-write-string stream (subseq string seg-start i))
  	 (seos-write-newline stream)
  	 (setq seg-start (1+ i))))
       (seos-write-string stream (subseq string seg-start end)))))
  
  (defmethod stream-character-width ((stream standard-extended-output-stream) char
  				   &key (text-style nil))
    (with-sheet-medium (medium stream)
      (text-style-character-width (or text-style (medium-text-style medium))
                                  medium
                                  char)))
  
  (defmethod stream-string-width ((stream standard-extended-output-stream) string
  				&key (start 0) (end nil) (text-style nil))
    (with-sheet-medium (medium stream)
      (if (null text-style)
          (setq text-style (medium-text-style (sheet-medium stream))))
  
negative.code:     (medium-finish-output medium)))
  
  (defmethod compose-space ((pane standard-extended-output-stream)
                            &key width height)
    (declare (ignorable width height))
  
    (with-slots (seos-current-width seos-current-height) pane
  