anchor.diff:  
   (defvar *mb-win*)
   (defvar *mb-print-flag* nil)
  +(defvar *mb-read-log* nil)
   
   (defun mb-init ()
     (setq *mb-win*
  
positive.code:   (setq *mb-print-flag* t)
    (let ((str initial)
          (comp-flag)
          (one-window-p (one-window-p)))
      (do ((break nil))
          (break)
        (write-message (format nil "~a~a" prompt str))
  
negative.code:             (setq str (subseq str 0 (1- (length str))))))
           ((char= c key::ctrl-u)
            (setq str ""))
           ((char= c key::ctrl-p)
            (when prev-read-log
              (let ((elt (pop prev-read-log)))
                (push elt next-read-log)
                (setq str elt))))
           ((char= c key::ctrl-n)
            (when next-read-log
              (let ((elt (pop next-read-log)))
                (push elt prev-read-log)
                (setq str elt))))
           ((char= c key::ctrl-q)
            (setq str (concatenate 'string str (string (getch)))))
           (t
  