; Fix Icomplete error during candidate highlighting

* lisp/icomplete.el (icomplete-completions): Pass completion
candidates through 'completion-lazy-hilit' before trimming
common prefix, rather than after.

https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00271.html
This commit is contained in:
Eshel Yaron 2024-06-14 19:49:21 +02:00
parent a8d5c5fd87
commit 3b07d33059
No known key found for this signature in database
GPG key ID: EF3EE9CA35D78618

View file

@ -1057,7 +1057,8 @@ matches exist."
(setq determ (concat open-bracket "" close-bracket)))
(while (and comps (not limit))
(setq comp
(if prefix-len (substring (car comps) prefix-len) (car comps))
(let ((cur (completion-lazy-hilit (car comps))))
(if prefix-len (substring cur prefix-len) cur))
comps (cdr comps))
(setq prospects-len
(+ (string-width comp)
@ -1066,8 +1067,7 @@ matches exist."
(if (< prospects-len prospects-max)
(push comp prospects)
(setq limit t)))
(setq prospects
(nreverse (mapcar #'completion-lazy-hilit prospects)))
(setq prospects (nreverse prospects))
;; Decorate first of the prospects.
(when prospects
(let ((first (copy-sequence (pop prospects))))