Handle point not at EOB in minibuffer-choose-completion
Without this change, only the minibuffer contents before point are cleared when a completion is chosen, which results in stray text when point is in the middle of the minibuffer. After this change, we heuristically decide either to clear the whole buffer or only part of it, taking into account the location of point. * lisp/minibuffer.el (minibuffer-completion-help): Use point when calculating completion-base-affixes. (Bug#62700)
This commit is contained in:
parent
4c975111af
commit
9cbd25e5cd
1 changed files with 5 additions and 1 deletions
|
@ -2395,7 +2395,11 @@ These include:
|
|||
(prefix (unless (zerop base-size) (substring string 0 base-size)))
|
||||
(base-prefix (buffer-substring (minibuffer--completion-prompt-end)
|
||||
(+ start base-size)))
|
||||
(base-suffix (buffer-substring (point) (point-max)))
|
||||
(base-suffix
|
||||
(if (eq (alist-get 'category (cdr md)) 'file)
|
||||
(buffer-substring (save-excursion (or (search-forward "/" nil t) (point-max)))
|
||||
(point-max))
|
||||
""))
|
||||
(all-md (completion--metadata (buffer-substring-no-properties
|
||||
start (point))
|
||||
base-size md
|
||||
|
|
Loading…
Add table
Reference in a new issue