anchor.diff:        (ps:chain node (replace-with (aref *nodes* (ps:@ node id))))))
     (remove-search-nodes))
   
  -(define-command search-buffer ()
  +(define-command search-buffer (&key case-insensitive-p)
     "Start a search on the current buffer."
  -  (search-over-buffers (list (current-buffer))))
  -
  -(define-command search-buffers ()
  +  (search-over-buffers (list (current-buffer)) :case-insensitive-p case-insensitive-p))
  +
  +(define-command search-buffers (&key case-insensitive-p)
     "Show a prompt in the minibuffer that allows to choose
   one or more buffers, and then start a search prompt that
   searches over the selected buffer(s)."
  
positive.code:                           :input-prompt "Search buffer(s)"
                            :multi-selection-p t
                            :completion-function (buffer-completion-filter))))
      (search-over-buffers buffers)))
  
  (defun search-over-buffers (buffers)
    "Add search boxes for a given search string over the
  provided buffers."
    (let* ((num-buffers (list-length buffers))
           (prompt-text
             (if (> num-buffers 1)
                 (format
                  nil
                  "Search over ~d buffers for (3+ characters)"
                  num-buffers)
                 "Search for (3+ characters)"))
           (minibuffer (make-minibuffer
                        :input-prompt prompt-text
                        :completion-function #'(lambda (input)
                                                 (match-completion-function
                                                  input
                                                  buffers))
                        :changed-callback
                        (let ((subsequent-call nil))
                          (lambda ()
  
negative.code:                                :body (cdr (assoc :body element))
                                 :buffer buffer)))
  
  (defun match-completion-function (input &optional (buffers (list (current-buffer))) (case-insensitive-p nil))
    "Update the completions asynchronously via query-buffer. TODO:
  capture the current-buffer and current-minibuffer in a closure."
    (when (> (length input) 2)
  