mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-20 18:17:20 +00:00
Handle point in last file-name component in minibuffer completion
This is a followup to commit e338a8ac41
(Handle point not at EOB in minibuffer-choose-completion).
That commit added a heuristic, but the heuristic was insufficient:
It still had the original wrong behavior when completing the last
file-name component (i.e., the completion category is 'file' and
there's no slash after point). This patch makes the heuristic
cover that case as well.
* lisp/minibuffer.el (minibuffer-next-completion)
(minibuffer-choose-completion): If in file completion and there's no
slash after point, clear what's after point when we complete.
(Bug#62700)
This commit is contained in:
parent
05f25238b7
commit
2a84ab905c
@ -4498,8 +4498,9 @@ insert the selected completion to the minibuffer."
|
||||
(base-suffix
|
||||
(if (eq (alist-get 'category (cdr md)) 'file)
|
||||
(with-current-buffer buf
|
||||
(buffer-substring (save-excursion (search-forward "/" nil t) (point))
|
||||
(point-max)))
|
||||
(buffer-substring
|
||||
(save-excursion (or (search-forward "/" nil t) (point-max)))
|
||||
(point-max)))
|
||||
""))
|
||||
(completion-base-affixes (list (car completion-base-affixes) base-suffix)))
|
||||
(choose-completion nil t t))))))
|
||||
@ -4524,8 +4525,9 @@ minibuffer, but don't quit the completions window."
|
||||
(let* ((md (completion--field-metadata (minibuffer--completion-prompt-end)))
|
||||
(base-suffix
|
||||
(if (eq (alist-get 'category (cdr md)) 'file)
|
||||
(buffer-substring (save-excursion (search-forward "/" nil t) (point))
|
||||
(point-max))
|
||||
(buffer-substring
|
||||
(save-excursion (or (search-forward "/" nil t) (point-max)))
|
||||
(point-max))
|
||||
"")))
|
||||
(with-minibuffer-completions-window
|
||||
(let ((completion-use-base-affixes t)
|
||||
|
Loading…
Reference in New Issue
Block a user