anchor.diff:                    (setf (buffer-input-stream-unread-char stream) nil)
                     character)
                    (t
  -                  (character-at (buffer-stream-marker stream))))
  -      (character-offset (buffer-stream-marker stream) 1))))
  +                  (character-at (buffer-stream-point stream))))
  +      (character-offset (buffer-stream-point stream) 1))))
   
   (defmethod trivial-gray-streams:stream-unread-char ((stream buffer-input-stream) character)
     (setf (buffer-input-stream-unread-char stream) character)
  -  (character-offset (buffer-stream-marker stream) -1)
  +  (character-offset (buffer-stream-point stream) -1)
     nil)
   
   #+nil
  
positive.code: (defclass editor-io-stream (buffer-output-stream minibuffer-input-stream)
    ())
  
  (defun make-editor-io-stream (marker &optional interactive-update-p)
    (make-buffer-stream-instance 'editor-io-stream
                                 marker interactive-update-p))
  
negative.code:   ((unread-char
      :initform nil
      :accessor buffer-input-stream-unread-char)
     (point
      :initarg :point
      :accessor buffer-stream-point)))
  
  (defun make-buffer-input-stream (&optional (point (current-point)))
    (make-instance 'buffer-input-stream
                   :point (copy-point point :temporary)))
  
  #+nil
  (defmethod trivial-gray-streams::close ((stream buffer-input-stream) &key abort)
    (declare (ignore abort))
    (delete-point (buffer-stream-point stream))
    t)
  
  (defmethod trivial-gray-streams:stream-read-char ((stream buffer-input-stream))
  