anchor.diff:                            (callback-buffer nil explicit-callback-buffer)
                             (setup-function nil explicit-setup-function)
                             (cleanup-function nil explicit-cleanup-function)
  +                          (changed-callback nil explicit-changed-callback)
                             (empty-complete-immediate nil explicit-empty-complete-immediate)
                             (input-prompt nil explicit-input-prompt)
                             (input-buffer nil explicit-input-buffer)
  
positive.code:                  `(:setup-function ,setup-function)
                   '())
             ,@(if explicit-cleanup-function
                   `(:cleanup-function ,cleanup-function)
                   '())
             ,@(if explicit-empty-complete-immediate
                   `(:empty-complete-immediate ,empty-complete-immediate)
                   '())
  
negative.code:                          (setf (ps:chain document (get-element-by-id "input-buffer") |innerHTML|)
                                 (ps:lisp input-text))
                           (setf (ps:chain document (get-element-by-id "completions") |innerHTML|)
                                 (ps:lisp completion-html))))
        (when (changed-callback minibuffer)
          (funcall (changed-callback minibuffer))))))
  
  (define-command select-next (&optional (minibuffer (current-minibuffer)))
    "Select next entry in minibuffer."
  