1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-23 18:47:57 +00:00

* lisp/minibuffer.el: Install a workaround for bug#16274

* lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
error when `md` is applied to another table.
This commit is contained in:
Stefan Monnier 2017-11-11 10:25:20 -05:00
parent 7657a86709
commit d63c9a96f5

View File

@ -896,8 +896,15 @@ This overrides the defaults specified in `completion-category-defaults'."
;; than from completion-extra-properties) because it may apply only to some
;; part of the string (e.g. substitute-in-file-name).
(let ((requote
(when (completion-metadata-get metadata 'completion--unquote-requote)
(cl-assert (functionp table))
(when (and
(completion-metadata-get metadata 'completion--unquote-requote)
;; Sometimes a table's metadata is used on another
;; table (typically that other table is just a list taken
;; from the output of `all-completions' or something equivalent,
;; for progressive refinement). See bug#28898 and bug#16274.
;; FIXME: Rather than do nothing, we should somehow call
;; the original table, in that case!
(functionp table))
(let ((new (funcall table string point 'completion--unquote)))
(setq string (pop new))
(setq table (pop new))