anchor.diff:  
   (defvar +recursive-minibuffer-break-tag+ (gensym))
   
  +(defun minibuffer-start-charpos (&optional (frame (first *frame-list*)))
  +  (frame-minibuffer-start-charpos frame))
  +
  +(defun (setf minibuffer-start-charpos) (new-start-charpos)
  +  (let ((frame (first *frame-list*)))
  +    (setf (frame-minibuffer-start-charpos frame) new-start-charpos)))
  +
  +(defun echoarea-buffer (&optional (frame (first *frame-list*)))
  +  (frame-echoarea-buffer frame))
  +
  +(defun minibuffer-buffer (&optional (frame (first *frame-list*)))
  +  (frame-minibuffer-buffer frame))
  +
   (defvar *minibuffer-completion-function* nil)
   (defvar *minibuffer-file-complete-function* nil)
   (defvar *minibuffer-buffer-complete-function* 'completion-buffer-name)
  
positive.code:                                        :read-only t
                                         :field t)
                          (character-offset (current-point) (length prompt)))
                        (let ((*minibuffer-start-charpos* (point-charpos (current-point))))
                          (when initial
                            (insert-string (current-point) initial))
                          (unwind-protect (minibuf-read-line-loop comp-f existing-p syntax-table)
  
negative.code:                             (move-point (current-point) minibuf-buffer-prev-point)
                              (when (= 1 *minibuf-read-line-depth*)
                                (run-hooks *minibuffer-deactivate-hook*)
                                (%switch-to-buffer (echoarea-buffer) nil nil))))
                          (setf (minibuffer-start-charpos) start-charpos))))
                  (editor-abort (c)
                    (error c))))))
        (if (eq result +recursive-minibuffer-break-tag+)
  