; Return t or nil for 'test-completion' of Eshell user references

* lisp/eshell/em-dirs.el (eshell-complete-user-reference): Simply call
'test-completion' when ACTION is 'lambda'; don't modify the result.
This commit is contained in:
Jim Porter 2023-02-23 15:13:38 -08:00
parent da002af411
commit 0a361fd91a

View file

@ -290,10 +290,10 @@ Thus, this does not include the current directory.")
(throw 'pcomplete-completions
;; Provide a programmed completion table. This works
;; just like completing over the list of names, except
;; it always returns the completed string, never `t'.
;; That's because this is only completing a directory
;; name, and so the completion isn't actually finished
;; yet.
;; it always returns the completed string for
;; `try-completion', never `t'. That's because this is
;; only completing a directory name, and so the
;; completion isn't actually finished yet.
(lambda (string pred action)
(pcase action
('nil ; try-completion
@ -302,8 +302,7 @@ Thus, this does not include the current directory.")
('t ; all-completions
(all-completions string names pred))
('lambda ; test-completion
(let ((result (test-completion string names pred)))
(if (eq result t) string result)))
(test-completion string names pred))
('metadata
'(metadata (category . file)))
(`(boundaries . ,suffix)