* lisp/minibuffer.el (completion-all-sorted-completions): New command.
(minibuffer-local-completion-map): Bind it to 'C-A'.
* doc/emacs/mini.texi (Completion Commands):
* doc/lispref/minibuf.texi (Completion Commands): Document it.
* etc/NEWS: Announce it.
Restore the minibuffer input that Emacs used to compute the current
set of completion candidates
(@code{minibuffer-restore-completion-input}).
+@item C-A
+Toggle completion case-sensitivity for the current minibuffer
+(@code{minibuffer-toggle-completion-ignore-case}).
@item C-x C-v
Change the order of the list of possible completions
(@code{minibuffer-sort-completions}).
the minibuffer input to @samp{bar}, change it to @samp{baz} and
complete again.
+@kindex C-A @r{(completion)}
+@kindex C-S-a @r{(completion)}
+@findex minibuffer-toggle-completion-ignore-case
+ @kbd{C-A} (@code{minibuffer-toggle-completion-ignore-case}) toggles
+completion case-sensitivity for the current minibuffer. If completion
+is currently case-sensitive, after typing @kbd{C-A} it becomes
+case-insensitive, and vice versa.
+
@anchor{Sort Completions}
@cindex sort completions
@cindex completions sort order
as @code{minibuffer-complete}, expanded in the current minibuffer.
@end deffn
+@deffn Command minibuffer-toggle-completion-ignore-case
+This function toggles the completion case-sensitivity for the current
+minibuffer. This works by setting the buffer-local value of
+@code{completion-ignore-case}. @xref{Basic Completion}.
+@end deffn
+
@deffn Command minibuffer-complete-and-exit
This function completes the minibuffer contents, and exits if
confirmation is not required, i.e., if
@item C-l
@code{minibuffer-restore-completion-input}
+@item C-A
+@code{minibuffer-toggle-completion-ignore-case}
+
@item C-x C-v
@code{minibuffer-sort-completions}
candidates.
+++
-*** New command 'minibuffer-restore-completion-input.
+*** New command 'minibuffer-restore-completion-input'.
This command, bound to 'C-l' in the minibuffer, restores the (partial)
input that you last used for completion in the current minibuffer.
++++
+*** New command 'minibuffer-toggle-completion-ignore-case'.
+This command, bound to 'C-A' in the minibuffer, toggles completion
+case-sensitivity for the current minibuffer.
+
*** New minor mode 'completions-auto-update-mode'.
This global minor mode automatically updates the *Completions* buffer
as you type in the minibuffer.
(completion--cache-all-sorted-completions
start end (nconc all base-size))))))
+(defun minibuffer-toggle-completion-ignore-case ()
+ "Toggle completion case-sensitively for the current minibuffer."
+ (interactive "" minibuffer-mode)
+ (setq-local completion-ignore-case (not completion-ignore-case))
+ (minibuffer-message "Completion is now case-%ssensitive"
+ (if completion-ignore-case "in" "")))
+
(defun minibuffer-force-complete-and-exit ()
"Exit the minibuffer with the first matching completion.
"<backtab>" #'minibuffer-complete
"C-o" #'minibuffer-cycle-completion
"C-l" #'minibuffer-restore-completion-input
+ "C-S-a" #'minibuffer-toggle-completion-ignore-case
"SPC" #'minibuffer-complete-word
"?" #'minibuffer-completion-help
"<prior>" #'switch-to-completions