diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-11-11 10:25:20 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-11-11 10:25:20 -0500 |
commit | d63c9a96f51fd4d723dc66a6cc0a8a0a04c8ce6c (patch) | |
tree | 411462f806a0c3fe5ac5d2b7a437e5ea64892bd9 /lisp/minibuffer.el | |
parent | 7657a867095f9edbb43c22f979f06dbe880059b7 (diff) | |
download | emacs-d63c9a96f51fd4d723dc66a6cc0a8a0a04c8ce6c.tar.gz emacs-d63c9a96f51fd4d723dc66a6cc0a8a0a04c8ce6c.tar.bz2 emacs-d63c9a96f51fd4d723dc66a6cc0a8a0a04c8ce6c.zip |
* 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.
Diffstat (limited to 'lisp/minibuffer.el')
-rw-r--r-- | lisp/minibuffer.el | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 26861de87b0..a4a8f5cb282 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -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)) |