mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-29 11:02:01 +00:00
(Basic Completion): Add lazy-completion-table.
(Programmed Completion): Add dynamic-completion-table.
This commit is contained in:
parent
e598a60dc3
commit
4ff1926ee8
@ -84,7 +84,7 @@ completion commands (@pxref{Completion}).
|
||||
|
||||
@item
|
||||
@code{minibuffer-local-ns-map} is similar, except that @key{SPC} exits
|
||||
just like @key{RET}. This is used mainly for Mocklisp compatibility.
|
||||
just like @key{RET}.
|
||||
|
||||
@item
|
||||
@code{minibuffer-local-completion-map} is for permissive completion.
|
||||
@ -520,7 +520,7 @@ for reading certain kinds of names with completion.
|
||||
* High-Level Completion:: Convenient special cases of completion
|
||||
(reading buffer name, file name, etc.)
|
||||
* Reading File Names:: Using completion to read file names.
|
||||
* Programmed Completion:: Finding the completions for a given file name.
|
||||
* Programmed Completion:: Writing your own completion-function.
|
||||
@end menu
|
||||
|
||||
@node Basic Completion
|
||||
@ -662,6 +662,22 @@ If the value of this variable is
|
||||
non-@code{nil}, Emacs does not consider case significant in completion.
|
||||
@end defvar
|
||||
|
||||
@defmac lazy-completion-table var fun &rest args
|
||||
This macro provides a way to initialize the variable @var{var} as a
|
||||
completion table in a lazy way, not computing its actual contents
|
||||
until they are first needed. You use this macro to produce a value
|
||||
that you store in @var{var}. The actual computation of the proper
|
||||
value is done the first time you do completion using @var{var}. It is
|
||||
done by calling @var{fun} with the arguments @var{args}. The value
|
||||
@var{fun} returns becomes the permanent value of @var{var}.
|
||||
|
||||
@example
|
||||
(defvar foo (lazy-completion-table foo make-my-alist 'global))
|
||||
(make-local-variable 'bar)
|
||||
(setq bar (lazy-completion-table foo make-my-alist 'local)
|
||||
@end example
|
||||
@end defmac
|
||||
|
||||
@node Minibuffer Completion
|
||||
@subsection Completion and the Minibuffer
|
||||
|
||||
@ -1219,6 +1235,15 @@ to use for completion to be encapsulated in a symbol.
|
||||
Emacs uses programmed completion when completing file names.
|
||||
@xref{File Name Completion}.
|
||||
|
||||
@defmac dynamic-completion-table function
|
||||
This macro is a convenient way to write a function that can act as
|
||||
programmed completion function. The argument @var{function} should be
|
||||
a function that takes one argument, a string, and returns an alist of
|
||||
possible completions of it. You can think of
|
||||
@code{dynamic-completion-table} as a transducer between that interface
|
||||
and the interface for programmed completion functions.
|
||||
@end defmac
|
||||
|
||||
@node Yes-or-No Queries
|
||||
@section Yes-or-No Queries
|
||||
@cindex asking the user questions
|
||||
|
Loading…
Reference in New Issue
Block a user