(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.
(completion--some): New function.
(completion-table-with-context, completion--file-name-table):
Return the base-size if requested.
(completion-table-in-turn): Generalize to multiple arguments.
(complete-in-turn): Compatibility alias.
(completion-styles-alist): New var.
(completion-styles): New customization.
(minibuffer-try-completion, minibuffer-all-completions):
New functions.
(minibuffer--do-completion, minibuffer-complete-and-exit)
(minibuffer-try-word-completion): Use them.
(display-completion-list, minibuffer-completion-help): Use them.
Handle all-completions's new base-size info to set completion-base-size.
* info.el (Info-read-node-name-1): Use completion-table-with-context,
completion-table-with-terminator and complete-with-action.
Remove the now obsolete completion-base-size-function property.
* simple.el (completion-list-mode-map): Move init into declaration.
(completion-list-mode): Use define-derived-mode.
(completion-setup-function): Use any completion-base-size that may
have been set before. Remove handling of completion-base-size-function.
* loadup.el: Move abbrev.el up earlier.
(completion-auto-help): Move from C code.
(minibuffer--maybe-completion-help): Remove.
(minibuffer--bitset): New function.
(minibuffer--do-completion): Rename from minibuffer-do-completion.
Renumber a bit. Really complete on string *before* point.
Add argument used for word-completion.
Join trailing / in completion with following text, as done in
minibuffer-complete-word.
Handle new value `lazy' for completion-auto-help.
(minibuffer-try-word-completion): New function extracted from
minibuffer-complete-word.
(minibuffer-complete-word): Use minibuffer--do-completion.
(minibuffer--insert-strings): Rename from
minibuffer-complete-insert-strings.
(exit-minibuffer): Fix typo.
* cus-edit.el (minibuffer): Move group to minibuffer.el.
* cus-start.el: Remove completion-auto-help.
* minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
(syms_of_minibuf): Remove its initialization.