mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-23 18:47:57 +00:00
Fix small bug in 'completion-table-subvert'.
Even for a trivial underlying completion table (where the 'boundaries' action returns nil), we need to provide nontrivial boundaries so that they match the behavior of 'all-completions'. * lisp/minibuffer.el (completion-table-subvert): Return boundaries even for trivial underlying completion table. * test/lisp/minibuffer-tests.el (completion-table-subvert-test): Amend unit test to also test boundaries. While there, also test the other completion functions.
This commit is contained in:
parent
804f5acda4
commit
3806d2168b
@ -271,7 +271,7 @@ the form (concat S2 S)."
|
||||
(let* ((str (if (string-prefix-p s1 string completion-ignore-case)
|
||||
(concat s2 (substring string (length s1)))))
|
||||
(res (if str (complete-with-action action table str pred))))
|
||||
(when res
|
||||
(when (or res (eq (car-safe action) 'boundaries))
|
||||
(cond
|
||||
((eq (car-safe action) 'boundaries)
|
||||
(let ((beg (or (and (eq (car-safe res) 'boundaries) (cadr res)) 0)))
|
||||
|
@ -83,7 +83,12 @@
|
||||
(let* ((origtable '("A-hello" "A-there"))
|
||||
(subvtable (completion-table-subvert origtable "B" "A")))
|
||||
(should (equal (try-completion "B-hel" subvtable)
|
||||
"B-hello"))))
|
||||
"B-hello"))
|
||||
(should (equal (all-completions "B-hel" subvtable) '("-hello")))
|
||||
(should (test-completion "B-hello" subvtable))
|
||||
(should (equal (completion-boundaries "B-hel" subvtable
|
||||
nil "suffix")
|
||||
'(1 . 6)))))
|
||||
|
||||
(ert-deftest completion-table-test-quoting ()
|
||||
(let ((process-environment
|
||||
|
Loading…
Reference in New Issue
Block a user