anchor.diff:                       (let ((*inhibit-read-only* t))
                          (erase-buffer))
                        (insert-string (current-point) minibuf-buffer-prev-string)
  +                     (when prev-prompt-length
  +                       (with-point ((start (current-point))
  +                                    (end (current-point)))
  +                         (line-start start)
  +                         (line-offset end 0 prev-prompt-length)
  +                         (put-text-property start end :attribute *minibuffer-prompt-attribute*)
  +                         (put-text-property start end :read-only t)
  +                         (put-text-property start end :field t)))
                        (move-point (current-point) minibuf-buffer-prev-point))))))))
         (editor-abort (c)
                       (error c)))))
  
positive.code: (in-package :lem)
  
  (export '(minibuffer-window-p
            minibuffer-window-height
            message
            minibuf-y-or-n-p
            minibuf-read-char
            *minibuf-keymap*
            active-minibuffer-window
            check-switch-minibuffer-window
            minibuf-read-line-confirm
  
negative.code:              (let ((minibuf-buffer-prev-string
                      (points-to-string (buffers-start (minibuffer))
                                        (buffers-end (minibuffer))))
                     (prev-prompt-length
                      (when *minibuf-prev-prompt*
                        (length *minibuf-prev-prompt*)))
                     (minibuf-buffer-prev-point
                      (window-point (minibuffer-window)))
                     (*minibuf-prev-prompt* prompt)
                     (*minibuf-read-line-depth*
                      (1+ *minibuf-read-line-depth*)))
                 (let ((*inhibit-read-only* t))
  