anchor.diff:          (setf (input-cursor-position minibuffer) 0)
           (insert input minibuffer)))))
   
  -(define-command minibuffer-toggle-mark (&optional (minibuffer (current-minibuffer)))
  +(define-command minibuffer-toggle-mark (&key
  +                                        (minibuffer (current-minibuffer))
  +                                        (direction :next))
     "Toggle candidate.
  -Only available if minibuffer `multi-selection-p' is non-nil."
  +Only available if minibuffer `multi-selection-p' is non-nil.  DIRECTION can be
  +:next or :previous and specifies which candidate to select once done."
     (when (multi-selection-p minibuffer)
       (with-slots (completions completion-cursor marked-completions) minibuffer
         (let ((candidate (nth completion-cursor completions)))
  
positive.code:           (_ (push candidate marked-completions)))))
      (state-changed minibuffer)
      (update-display minibuffer)
      (select-next minibuffer)))
  
  (define-command minibuffer-mark-all (&optional (minibuffer (current-minibuffer)))
    "Mark all visible candidates.
  
negative.code:        "tab" 'insert-candidate
         "M-h" 'minibuffer-history
         "C-space" 'minibuffer-toggle-mark
         "shift-space" 'minibuffer-toggle-mark-backwards
         "M-space" 'minibuffer-toggle-mark
         "M-a" 'minibuffer-mark-all
         "M-u" 'minibuffer-unmark-all))
  