mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
Give affixation-function higher priority over annotation-function (bug#45234)
* doc/lispref/minibuf.texi (Completion Variables) (Programmed Completion): Describe precedence rules of affixation-function and annotation-function. * lisp/minibuffer.el (completion-metadata) (completion-extra-properties): Describe precedence rules of affixation-function and annotation-function. (minibuffer-completion-help): First try to apply affixation-function, if there is no such function, try annotation-function.
This commit is contained in:
parent
32d85e3079
commit
67fb182cfa
@ -1803,7 +1803,8 @@ The value should be a function to add prefixes and suffixes to
|
||||
completions. This function must accept one argument, a list of
|
||||
completions, and should return such a list of completions where
|
||||
each element contains a list of three elements: a completion,
|
||||
a prefix string, and a suffix string.
|
||||
a prefix string, and a suffix string. This function takes priority
|
||||
over @code{:annotation-function}.
|
||||
|
||||
@item :exit-function
|
||||
The value should be a function to run after performing completion.
|
||||
@ -1911,7 +1912,8 @@ completions. The function should take one argument,
|
||||
return such a list of @var{completions} where each element contains a list
|
||||
of three elements: a completion, a prefix which is displayed before
|
||||
the completion string in the @file{*Completions*} buffer, and
|
||||
a suffix displayed after the completion string.
|
||||
a suffix displayed after the completion string. This function
|
||||
takes priority over @code{annotation-function}.
|
||||
|
||||
@item display-sort-function
|
||||
The value should be a function for sorting completions. The function
|
||||
|
@ -123,7 +123,8 @@ This metadata is an alist. Currently understood keys are:
|
||||
- `affixation-function': function to prepend/append a prefix/suffix to
|
||||
entries. Takes one argument (COMPLETIONS) and should return a list
|
||||
of completions with a list of three elements: completion, its prefix
|
||||
and suffix.
|
||||
and suffix. This function takes priority over `annotation-function'
|
||||
when both are provided, so only this function is used.
|
||||
- `display-sort-function': function to sort entries in *Completions*.
|
||||
Takes one argument (COMPLETIONS) and should return a new list
|
||||
of completions. Can operate destructively.
|
||||
@ -1926,6 +1927,8 @@ These include:
|
||||
completions. The function must accept one argument, a list of
|
||||
completions, and return a list where each element is a list of
|
||||
three elements: a completion, a prefix and a suffix.
|
||||
This function takes priority over `:annotation-function'
|
||||
when both are provided, so only this function is used.
|
||||
|
||||
`:exit-function': Function to run after completion is performed.
|
||||
|
||||
@ -2056,15 +2059,16 @@ variables.")
|
||||
(if sort-fun
|
||||
(funcall sort-fun completions)
|
||||
(sort completions 'string-lessp))))
|
||||
(when ann-fun
|
||||
(cond
|
||||
(aff-fun
|
||||
(setq completions
|
||||
(funcall aff-fun completions)))
|
||||
(ann-fun
|
||||
(setq completions
|
||||
(mapcar (lambda (s)
|
||||
(let ((ann (funcall ann-fun s)))
|
||||
(if ann (list s ann) s)))
|
||||
completions)))
|
||||
(when aff-fun
|
||||
(setq completions
|
||||
(funcall aff-fun completions)))
|
||||
completions))))
|
||||
|
||||
(with-current-buffer standard-output
|
||||
(setq-local completion-base-position
|
||||
|
Loading…
Reference in New Issue
Block a user