anchor.diff:       (or height
            (prompt-buffer-open-height (window prompt-buffer))))))
   
  -(export-always 'hide-prompt-buffer)
  +(export-always 'hide-prompt-buffer)     ; TODO: Unexport for 3.0.
   (defun hide-prompt-buffer (prompt-buffer)
  -  "Hide PROMPT-BUFFER, display next active one."
  +  "Hide PROMPT-BUFFER, display next active one.
  +This is a low-level display function.
  +See also `show-prompt-buffer'."
     (let ((window (window prompt-buffer)))
       ;; Note that PROMPT-BUFFER is not necessarily first in the list, e.g. a new
       ;; prompt-buffer was invoked before the old one reaches here.
  
positive.code:                                               :window (current-window)
                                                :result-channel (make-channel)
                                                :interrupt-channel (make-channel))))))
             (show-prompt-buffer prompt-buffer)
             (calispel:! prompt-object-channel prompt-buffer))))
        (let ((new-prompt (calispel:? prompt-object-channel)))
          (wait-on-prompt-buffer new-prompt)))))
  
negative.code:            (ps:lisp input))))
    (update-prompt-input prompt-buffer input))
  
  (defun wait-on-prompt-buffer (prompt-buffer) ; TODO: Export?  Better name?
    "Block and return PROMPT-BUFFER results."
    (when (prompt-buffer-p prompt-buffer)
      (show-prompt-buffer prompt-buffer)
      (calispel:fair-alt
        ((calispel:? (prompter:result-channel prompt-buffer) results)
         (hide-prompt-buffer prompt-buffer)
  