(completion-pcm--all-completions): Move the case-fold-search binding to
it also applies to completion-regexp-list (used in all-completions).
(completion-pcm--hilit-commonality): Add missing case-fold-search.
(completion-basic-try-completion): Use it.
(completion-pcm--find-all-completions): Add argument `filter'.
(completion-pcm--filename-try-filter, completion-pcm--merge-try): New funs.
(completion-pcm-try-completion): Use them.
Rename from Vminibuffer_local_must_match_filename_map.
(syms_of_keymap):
* minibuf.c (Fcompleting_read): Adjust accordingly.
* commands.h: Rename declaration as well.
* minibuffer.el (minibuffer-local-must-match-filename-map):
Declare obsolete alias for the old name.
`string' has the same semantics as in try-completion and all-completions.
(completion-table-with-context, completion--embedded-envvar-table)
(completion--file-name-table, completion-pcm--find-all-completions):
Adjust code accordingly.
* vc-bzr.el (vc-bzr-annotate-time): Reduce memory allocation.
(vc-bzr-revision-completion-table): Handle `boundaries' argument.
(completion--some): Delay errors.
(complete-with-action, completion-table-with-context): Handle `boundaries'.
(completion--try-word-completion): Avoid partial-completion
when the user hasn't entered anything yet.
(minibuffer-local-map, minibuffer-local-filename-completion-map)
(minibuffer-local-must-match-map, minibuffer-local-completion-map)
(minibuffer-local-must-match-filename-map, minibuffer-local-ns-map):
Setup default keybindings.
(completion--embedded-envvar-re): New var.
(completion--embedded-envvar-table): Use it. Handle `boundaries' case.
(completion--file-name-table): Handle `boundaries' case.
(completion-pcm--pattern->regex): Avoid pathological backtracking.
(completion-pcm--all-completions): Add a `prefix' arg.
(completion-pcm--find-all-completions): New function.
(completion-pcm-all-completions, completion-pcm-try-completion): Use it.
(completion-pcm--pattern->regex): Let `group' be a list of symbols.
(completion-pcm--hilit-commonality): New function.
(completion-pcm-all-completions): Use it.
(completions-first-difference, completions-common-part): Move from simple.el.
(completion-hilit-commonality): New fun.
(display-completion-list, completion-emacs21-all-completions)
(completion-emacs22-all-completions): Use it.
* simple.el (completions-first-difference, completions-common-part):
Move to minibuffer.el.
(choose-completion-string): Use field functions and minibufferp.
(completion-setup-function): Don't set completions faces.
various kinds of completion tables.
(completion-emacs22-try-completion): Place cursor after the /, as was
done in Emacs-22's minibuffer-complete-word.
Fix bug reported by David Hansen <david.hansen@gmx.net>.
(completion-emacs22-try-completion): Merge all mergable text rather than /.
(completion-pcm--delim-wild-regex): New var.
(completion-pcm-word-delimiters): New custom.
(completion-pcm--prepare-delim-re, completion-pcm--pattern-trivial-p)
(completion-pcm--string->pattern, completion-pcm--pattern->regex)
(completion-pcm--all-completions, completion-pcm-all-completions)
(completion-pcm--merge-completions, completion-pcm--pattern->string)
(completion-pcm-try-completion): New functions.
(completion-styles-alist): Add them.
(completion-styles): Add it to the default.
(completion-all-completions): Add `point' argument.
(minibuffer-completion-help): Pass the new `point' argument.
(completion--do-completion): Pass the whole field to try-completion.
(completion--try-word-completion): Rewrite, making fewer assumptions.
(completion-emacs21-try-completion, completion-emacs21-all-completions)
(completion-emacs22-try-completion, completion-emacs22-all-completions)
(completion-basic-try-completion, completion-basic-all-completions): New funs.
(completion-styles-alist): Use them.
(read-file-name-completion-ignore-case, insert-default-directory):
New vars, moved from fileio.c.
(read-file-name): New fun, moved from fileio.c.
* lisp/cus-start.el: Remove insert-default-directory and
read-file-name-completion-ignore-case.
* src/fileio.c (Vread_file_name_function, Vread_file_name_predicate)
(read_file_name_completion_ignore_case, insert_default_directory)
(Qdefault_directory): Move to minibuffer.el.
(Fread_file_name): Call the new `read-file-name' instead.
property name. Rename from minibuffer-try-completion.
(completion-all-completions): Rename from minibuffer-all-completions.
Remove hide-spaces argument.
(completion--do-completion): Rename from minibuffer--do-completion.
(minibuffer-complete-and-exit): Call just try-completion rather than
completion-try-completion to fix up the case.
(completion--try-word-completion): Try to add space or hyphen before
making `string' a prefix of `completion'.
(completion--insert-strings): Rename from minibuffer--insert-strings.
(completion-table-with-terminator): Don't use complete-with-action
since we have to distinguish all three cases anyway.
(completion-table-with-predicate): New function.
(dynamic-completion-table): Add obsolete alias.
* minibuf.texi (Programmed Completion):
Replace dynamic-completion-table with the new completion-table-dynamic.