anchor.diff:    ((prompter:name "List of actions")
      (prompter:initial-suggestions (prompt-buffer-actions))))
   
  -(define-command run-action (&optional (prompt-buffer (current-prompt-buffer)))
  +(define-command return-selection-over-action (&optional (prompt-buffer (current-prompt-buffer)))
     "Prompt for an action to run over PROMPT-BUFFER selection."
     (let ((action (prompt
                    :prompter (list
                               :prompt "Action to run on selection"
                               :sources (list (make-instance 'action-source))))))
       (when action
  -      (prompter:run-action (prompter prompt-buffer) action)
  +      (prompter:return-selection (prompter prompt-buffer) action)
         (hide-prompt-buffer prompt-buffer))))
   
   (define-command cancel-input (&optional (prompt-buffer (current-prompt-buffer)))
  
positive.code:        "M-[" 'select-previous-source
         "return" 'return-selection
         "C-return" 'return-input         ; TODO: Bind to shift-return instead?
         "M-return" 'run-action       ; TODO: Also bind to C-return?
         "C-space" 'prompt-buffer-toggle-mark
         "shift-space" 'prompt-buffer-toggle-mark-backwards
         "M-space" 'prompt-buffer-toggle-mark
  
negative.code: If STEPS is negative, go to next pages instead."
    (select-next-page :prompt-buffer prompt-buffer :steps (- steps)))
  
  (define-command return-selection (&optional (prompt-buffer (current-prompt-buffer)))
    "Have the PROMT-BUFFER return the selection, then quit."
    (prompter:return-selection (prompter prompt-buffer))
    (hide-prompt-buffer prompt-buffer))
  
  (define-command return-input (&optional (prompt-buffer (current-prompt-buffer))) ; TODO: Remove if we remove `must-match-p'?
    "Have the PROMT-BUFFER return the selection, then quit."
    (prompter:return-input (prompter prompt-buffer))
    (hide-prompt-buffer prompt-buffer))
  