Don't force completion recalculation in icomplete-fido-ret

Besides the adverse effect of delaying completions, it tripped up the
useful logic of icomplete-force-complete-and-exit in the case where a
default was available, but no completions calculated yet.

* lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
of completions.
This commit is contained in:
João Távora 2019-12-25 17:57:20 +00:00
parent 83587bb688
commit 13778aa5be

View file

@ -276,15 +276,13 @@ require user confirmation."
(interactive)
(let* ((dir (and (eq (icomplete--category) 'file)
(file-name-directory (icomplete--field-string))))
(current (car (completion-all-sorted-completions)))
(current (car completion-all-sorted-completions))
(probe (and dir current
(expand-file-name (directory-file-name current) dir))))
(cond ((and probe (file-directory-p probe) (not (string= current "./")))
(icomplete-force-complete))
(current
(icomplete-force-complete-and-exit))
(t
(exit-minibuffer)))))
(icomplete-force-complete-and-exit)))))
(defun icomplete-fido-backward-updir ()
"Delete char before or go up directory, like `ido-mode'."