summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorDmitry Gutov <dmitry@gutov.dev>2025-02-11 17:47:21 +0200
committerDmitry Gutov <dmitry@gutov.dev>2025-02-11 17:47:21 +0200
commit88bc748f52fe3ed161d5c7b3aca1de0fb0fa1209 (patch)
treea8ffc1a5f730c1e585c56ebd898ec4992f000c56 /lisp/emacs-lisp
parent737f249aa2c86fb555b134b9e430a5be9cf2b655 (diff)
downloademacs-88bc748f52fe3ed161d5c7b3aca1de0fb0fa1209.tar.gz
emacs-88bc748f52fe3ed161d5c7b3aca1de0fb0fa1209.tar.bz2
emacs-88bc748f52fe3ed161d5c7b3aca1de0fb0fa1209.zip
Fix minibuffer-next-completion in completing-read-multiple
* lisp/emacs-lisp/crm.el (completing-read-multiple): Adapt to the previous removal of completion-base-affixes (bug#48356, bug#48356).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/crm.el26
1 files changed, 10 insertions, 16 deletions
diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el
index 454c3e85074..a371a8e14de 100644
--- a/lisp/emacs-lisp/crm.el
+++ b/lisp/emacs-lisp/crm.el
@@ -251,22 +251,16 @@ with empty strings removed."
(setq-local minibuffer-completion-table #'crm--collection-fn)
(setq-local minibuffer-completion-predicate predicate)
(setq-local completion-list-insert-choice-function
- (lambda (start end choice)
- (if (and (stringp start) (stringp end))
- (let* ((beg (save-excursion
- (goto-char (minibuffer-prompt-end))
- (or (search-forward start nil t)
- (search-forward-regexp crm-separator nil t)
- (minibuffer-prompt-end))))
- (end (save-excursion
- (goto-char (point-max))
- (or (search-backward end nil t)
- (progn
- (goto-char beg)
- (search-forward-regexp crm-separator nil t))
- (point-max)))))
- (completion--replace beg end choice))
- (completion--replace start end choice))))
+ (lambda (_start _end choice)
+ (let* ((beg (save-excursion
+ (if (search-backward-regexp crm-separator nil t)
+ (1+ (point))
+ (minibuffer-prompt-end))))
+ (end (save-excursion
+ (if (search-forward-regexp crm-separator nil t)
+ (1- (point))
+ (point-max)))))
+ (completion--replace beg end choice))))
;; see completing_read in src/minibuf.c
(setq-local minibuffer-completion-confirm
(unless (eq require-match t) require-match))