anchor.diff:  
   (define-command return-input (minibuffer-mode &optional (minibuffer (minibuffer *interface*)))
     "Return with minibuffer selection."
  +  ;; Warning: `hide' modifies the content of the minibuffer, the
  +  ;; callback-function and the cleanup-function cannot rely on the minibuffer
  +  ;; content safely.
  +  (hide *interface*)
     (setf (display-mode minibuffer) :nil)
     (with-slots (callback-function cleanup-function
                  empty-complete-immediate completions completion-cursor)
  
positive.code:         ;; if there's no completion function
          (return-immediate (first (modes minibuffer)) minibuffer))
      (when cleanup-function
        (funcall cleanup-function)))
    ;; `hide' could modify the content of the minibuffer, let's call it last.
    (hide *interface*))
  
  (define-command return-immediate (minibuffer-mode &optional (minibuffer (minibuffer *interface*)))
    "Return with minibuffer input, ignoring the selection."
  
negative.code:   (let ((active-window (rpc-window-active interface)))
      (setf (minibuffer-active active-window) nil)
      ;; TODO: We need a mode-line before we can afford to really hide the
      ;; minibuffer.  Until then, we use "blank" it.
      (with-result (url (buffer-get-url))
        (echo "~a" url))
      (rpc-window-set-minibuffer-height interface
  