* lisp/minibuffer.el (completion-metadata): Prepend the alist with `metadata'.
(completion-try-completion, completion-all-completions): Compute the metadata argument if it's missing; make it optional. Fixes: debbugs:8795
This commit is contained in:
parent
0c7efc0884
commit
4cb3bfa09c
2 changed files with 16 additions and 5 deletions
|
@ -1,5 +1,9 @@
|
|||
2011-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* minibuffer.el (completion-metadata): Prepend the alist with `metadata'.
|
||||
(completion-try-completion, completion-all-completions): Compute the
|
||||
metadata argument if it's missing; make it optional (bug#8795).
|
||||
|
||||
* wid-edit.el: Use lexical scoping and move towards completion-at-point.
|
||||
(widget-complete): Use new :completion-function property.
|
||||
(widget-completions-at-point): New function.
|
||||
|
|
|
@ -135,7 +135,8 @@ The metadata of a completion table should be constant between two boundaries."
|
|||
(let ((metadata (if (functionp table)
|
||||
(funcall table string pred 'metadata))))
|
||||
(if (eq (car-safe metadata) 'metadata)
|
||||
(cdr metadata))))
|
||||
metadata
|
||||
'(metadata))))
|
||||
|
||||
(defun completion--field-metadata (field-start)
|
||||
(completion-metadata (buffer-substring-no-properties field-start (point))
|
||||
|
@ -513,7 +514,7 @@ an association list that can specify properties such as:
|
|||
(delete-dups (append (cdr over) (copy-sequence completion-styles)))
|
||||
completion-styles)))
|
||||
|
||||
(defun completion-try-completion (string table pred point metadata)
|
||||
(defun completion-try-completion (string table pred point &optional metadata)
|
||||
"Try to complete STRING using completion table TABLE.
|
||||
Only the elements of table that satisfy predicate PRED are considered.
|
||||
POINT is the position of point within STRING.
|
||||
|
@ -524,9 +525,12 @@ a new position for point."
|
|||
(completion--some (lambda (style)
|
||||
(funcall (nth 1 (assq style completion-styles-alist))
|
||||
string table pred point))
|
||||
(completion--styles metadata)))
|
||||
(completion--styles (or metadata
|
||||
(completion-metadata
|
||||
(substring string 0 point)
|
||||
table pred)))))
|
||||
|
||||
(defun completion-all-completions (string table pred point metadata)
|
||||
(defun completion-all-completions (string table pred point &optional metadata)
|
||||
"List the possible completions of STRING in completion table TABLE.
|
||||
Only the elements of table that satisfy predicate PRED are considered.
|
||||
POINT is the position of point within STRING.
|
||||
|
@ -537,7 +541,10 @@ in the last `cdr'."
|
|||
(completion--some (lambda (style)
|
||||
(funcall (nth 2 (assq style completion-styles-alist))
|
||||
string table pred point))
|
||||
(completion--styles metadata)))
|
||||
(completion--styles (or metadata
|
||||
(completion-metadata
|
||||
(substring string 0 point)
|
||||
table pred)))))
|
||||
|
||||
(defun minibuffer--bitset (modified completions exact)
|
||||
(logior (if modified 4 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue