summaryrefslogtreecommitdiff
path: root/lisp/minibuffer.el
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2017-11-11 11:10:49 -0500
committerNoam Postavsky <npostavs@gmail.com>2017-11-11 11:12:00 -0500
commit1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e (patch)
tree66f1607d41b0bc490f3202c327ecb3fcdc5746bf /lisp/minibuffer.el
parent1ef6d2b0e679c035dd2a1f2f858865eeafc5bc28 (diff)
parent9533d76b0b5bfe2df1cccc55a92c2545b1de4e2b (diff)
downloademacs-1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e.tar.gz
; Merge from emacs-26
9533d76b0b Keep Man sections in natural order (bug#28998) d63c9a96f5 * lisp/minibuffer.el: Install a workaround for bug#16274 7657a86709 Fix comparisons with tip_frame in GTK builds 603a0716a8 Improve the documentation of M-n for entering file names 72f813fb56 Fix desktop auto-save timer when linum-mode is used 44340b475f Fix "C-h k" in xterm-mouse-mode 05aa6d4a68 Fix off-by-1 bug in --enable-checking=stringbytes 096f638ddc Correct the indentation of C99's compound literals. c52a2aa8f3 Improve the doc string of 'dired-isearch-filter-filenames' e592b92482 * lisp/isearch.el (search-invisible): Doc fix. (Bug#29222) f3e69a80ab Fix display of line numbers in GTK builds e6f1fd4091 Fix previous change to flymake-diag-region (bug#29174) 89382780e1 flymake-diag-region really returns nil if region is invali... 535688a418 Flymake correctly highlights whole last line if eob (bug#2... 72e62d3fdb Protect Flymake checkdoc backend against checkdoc errors (... b28de57411 Sort entries of the Flymake diagnostics buffer (bug#29175) fc56bea142 Correctly indent C++14 brace lists which are a second argu... 9dde8be9cd Fix redisplay of overlay-arrows on GUI frames 0da08f2f8e Protect Flymake tests against older Ruby and Perl (bug#29187) 781f276cc1 Fix URL cookie expiration bug
Diffstat (limited to 'lisp/minibuffer.el')
-rw-r--r--lisp/minibuffer.el11
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 77fddc3436d..3b1d6f447a5 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))