anchor.diff:                      prompt-buffer
                       :test #'prompter=)
         (push prompt-buffer (old-prompt-buffers *browser*))))
  -  (if (active-prompt-buffers (current-window))
  -      (let ((next-prompt-buffer (first (active-prompt-buffers (current-window)))))
  +  (if (active-prompt-buffers (window prompt-buffer))
  +      (let ((next-prompt-buffer (first (active-prompt-buffers (window prompt-buffer)))))
           (show-prompt-buffer next-prompt-buffer))
         (progn
  -        (ffi-window-set-prompt-buffer-height (current-window) 0)))
  +        (ffi-window-set-prompt-buffer-height (window prompt-buffer) 0)))
     (when return-function
       (funcall return-function))
     ;; Destroy prompter last, or else `return-function' may not work.
  
positive.code:          (suggestions (prompter:suggestions source))
           (marks (prompter:marks source)))
      (ffi-prompt-buffer-evaluate-javascript-async
       (current-window)
       (ps:ps
         (setf (ps:chain document (get-element-by-id "prompt-extra") |innerHTML|)
               (ps:lisp
  
negative.code:   "Hide PROMPT-BUFFER, display next active one, and return PROMPT-BUFFER suggestion."
    ;; 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.
    (alex:deletef (active-prompt-buffers (window prompt-buffer)) prompt-buffer)
    (when (resumable-p prompt-buffer)
      (flet ((prompter= (prompter1 prompter2)
               (and (string= (prompter:prompt prompter1)
  