* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too [not found] ` <20240612220700.A0F4DC1FB4C@vcs2.savannah.gnu.org> @ 2024-06-13 8:20 ` Eshel Yaron 2024-06-13 14:11 ` Dmitry Gutov 2024-06-14 6:10 ` Juri Linkov 0 siblings, 2 replies; 15+ messages in thread From: Eshel Yaron @ 2024-06-13 8:20 UTC (permalink / raw) To: emacs-devel; +Cc: Dmitry Gutov Hi Dmitry, Dmitry Gutov <dgutov@yandex.ru> writes: > branch: master > commit 6b7ff60a5e71c161a064e27509fe4fb95cf74ddd > Author: Dmitry Gutov <dmitry@gutov.dev> > Commit: Dmitry Gutov <dmitry@gutov.dev> > > Highlight the suffix in *Completions* buffer in 'basic' style too > > * lisp/minibuffer.el (completion-basic-all-completions): > Make sure to highlight the suffix as well (bug#71419). > --- > lisp/minibuffer.el | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el > index f62cb2566b2..144cda8cfdc 100644 > --- a/lisp/minibuffer.el > +++ b/lisp/minibuffer.el > @@ -3816,7 +3816,7 @@ Return the new suffix." > 'point > (substring afterpoint 0 (cdr bounds))))) > (all (completion-pcm--all-completions prefix pattern table pred))) > - (completion-hilit-commonality all point (car bounds)))) > + (completion-pcm--hilit-commonality pattern all))) Note that unlike completion-hilit-commonality, completion-pcm--hilit-commonality does not add the base size to the last cdr of the result. So this breaks e.g. file name completion: 1. emacs -Q in emacs.git checkout root directory 2. C-x C-f lisp/fo TAB 3. *Completions* pops up with some completion candidates 4. M-<down> The minibuffer should now contain something like ~/checkouts/emacs/lisp/foldout.el but after this commit it instead contains just foldout.el. Something like the following should fix this issue: diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 144cda8cfdc..0a0b17b3850 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -3816,7 +3816,9 @@ completion-basic-all-completions 'point (substring afterpoint 0 (cdr bounds))))) (all (completion-pcm--all-completions prefix pattern table pred))) - (completion-pcm--hilit-commonality pattern all))) + (when all + (nconc (completion-pcm--hilit-commonality pattern all) + (car bounds))))) ;;; Partial-completion-mode style completion. ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-13 8:20 ` master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too Eshel Yaron @ 2024-06-13 14:11 ` Dmitry Gutov 2024-06-13 14:51 ` Eshel Yaron 2024-06-14 6:10 ` Juri Linkov 1 sibling, 1 reply; 15+ messages in thread From: Dmitry Gutov @ 2024-06-13 14:11 UTC (permalink / raw) To: Eshel Yaron, emacs-devel Hi! On 13/06/2024 11:20, Eshel Yaron wrote: > Note that unlike completion-hilit-commonality, > completion-pcm--hilit-commonality does not add the base size to the last > cdr of the result. So this breaks e.g. file name completion: > > 1. emacs -Q in emacs.git checkout root directory > 2. C-x C-f lisp/fo TAB > 3.*Completions* pops up with some completion candidates > 4. M-<down> > > The minibuffer should now contain something like > ~/checkouts/emacs/lisp/foldout.el but after this commit it instead > contains just foldout.el. Thanks for your vigilance. ;) > Something like the following should fix this issue: > > diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el > index 144cda8cfdc..0a0b17b3850 100644 > --- a/lisp/minibuffer.el > +++ b/lisp/minibuffer.el > @@ -3816,7 +3816,9 @@ completion-basic-all-completions > 'point > (substring afterpoint 0 (cdr bounds))))) > (all (completion-pcm--all-completions prefix pattern table pred))) > - (completion-pcm--hilit-commonality pattern all))) > + (when all > + (nconc (completion-pcm--hilit-commonality pattern all) > + (car bounds))))) > > ;;; Partial-completion-mode style completion. Please install, if you have access. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-13 14:11 ` Dmitry Gutov @ 2024-06-13 14:51 ` Eshel Yaron 0 siblings, 0 replies; 15+ messages in thread From: Eshel Yaron @ 2024-06-13 14:51 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel Dmitry Gutov <dmitry@gutov.dev> writes: > Hi! > > On 13/06/2024 11:20, Eshel Yaron wrote: >> Note that unlike completion-hilit-commonality, >> completion-pcm--hilit-commonality does not add the base size to the last >> cdr of the result. So this breaks e.g. file name completion: >> 1. emacs -Q in emacs.git checkout root directory >> 2. C-x C-f lisp/fo TAB >> 3.*Completions* pops up with some completion candidates >> 4. M-<down> >> The minibuffer should now contain something like >> ~/checkouts/emacs/lisp/foldout.el but after this commit it instead >> contains just foldout.el. > > Thanks for your vigilance. ;) No problem :) >> Something like the following should fix this issue: >> diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el >> index 144cda8cfdc..0a0b17b3850 100644 >> --- a/lisp/minibuffer.el >> +++ b/lisp/minibuffer.el >> @@ -3816,7 +3816,9 @@ completion-basic-all-completions >> 'point >> (substring afterpoint 0 (cdr bounds))))) >> (all (completion-pcm--all-completions prefix pattern table pred))) >> - (completion-pcm--hilit-commonality pattern all))) >> + (when all >> + (nconc (completion-pcm--hilit-commonality pattern all) >> + (car bounds))))) >> ;;; Partial-completion-mode style completion. > > Please install, if you have access. Done in commit 56537ab0228. Eshel ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-13 8:20 ` master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too Eshel Yaron 2024-06-13 14:11 ` Dmitry Gutov @ 2024-06-14 6:10 ` Juri Linkov 2024-06-14 7:35 ` Eshel Yaron 1 sibling, 1 reply; 15+ messages in thread From: Juri Linkov @ 2024-06-14 6:10 UTC (permalink / raw) To: Eshel Yaron; +Cc: emacs-devel, Dmitry Gutov > Something like the following should fix this issue: > [...] > @@ -3816,7 +3816,9 @@ completion-basic-all-completions > 'point > (substring afterpoint 0 (cdr bounds))))) > (all (completion-pcm--all-completions prefix pattern table pred))) > - (completion-pcm--hilit-commonality pattern all))) > + (when all > + (nconc (completion-pcm--hilit-commonality pattern all) > + (car bounds))))) This fixes file name completion, but at the cost of breaking icomplete-mode: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) >(19 nil) (if (> (length string) pos) (add-face-text-property pos (1+ pos) 'completions-first-difference nil string)) (let* ((md (and regexp (string-match regexp string) (cdr (cdr (match-data t))))) ...) completion--hilit-from-re("it-window-to-buffer" "\\`f\\(.*?\\)" 1) completion-lazy-hilit("it-window-to-buffer") icomplete-completions("f" ...) icomplete-exhibit() completing-read-default("M-x " ...) read-extended-command-1("M-x " nil) read-extended-command() command-execute(execute-extended-command) ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-14 6:10 ` Juri Linkov @ 2024-06-14 7:35 ` Eshel Yaron 2024-06-14 16:41 ` Juri Linkov 0 siblings, 1 reply; 15+ messages in thread From: Eshel Yaron @ 2024-06-14 7:35 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel, Dmitry Gutov Hi Juri, Juri Linkov <juri@linkov.net> writes: >> Something like the following should fix this issue: >> [...] >> @@ -3816,7 +3816,9 @@ completion-basic-all-completions >> 'point >> (substring afterpoint 0 (cdr bounds))))) >> (all (completion-pcm--all-completions prefix pattern table pred))) >> - (completion-pcm--hilit-commonality pattern all))) >> + (when all >> + (nconc (completion-pcm--hilit-commonality pattern all) >> + (car bounds))))) > > This fixes file name completion, but at the cost of breaking icomplete-mode: > > Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) > >(19 nil) > (if (> (length string) pos) (add-face-text-property pos (1+ pos) 'completions-first-difference nil string)) > (let* ((md (and regexp (string-match regexp string) (cdr (cdr (match-data t))))) ...) > completion--hilit-from-re("it-window-to-buffer" "\\`f\\(.*?\\)" 1) > completion-lazy-hilit("it-window-to-buffer") > icomplete-completions("f" ...) > icomplete-exhibit() > completing-read-default("M-x " ...) > read-extended-command-1("M-x " nil) > read-extended-command() > command-execute(execute-extended-command) Hmm that's quite curious... I can reproduce it also without my change in 56537ab0228, FWIW. AFAICT the issue is that icomplete trims the prefix from completion candidates before passing them to completion-lazy-hilit, while completion--hilit-from-re expects the full candidate (prefix included). I'm not deeply familiar with icomplete, but maybe calling completion-lazy-hilit before trimming the candidates as in the diff below should do the trick? diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 44bbe9772e4..d03e315fdc8 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -1043,7 +1043,8 @@ icomplete-completions (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) @@ -1052,8 +1053,7 @@ icomplete-completions (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)))) ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-14 7:35 ` Eshel Yaron @ 2024-06-14 16:41 ` Juri Linkov 2024-06-14 18:04 ` Eshel Yaron 2024-06-30 16:29 ` Juri Linkov 0 siblings, 2 replies; 15+ messages in thread From: Juri Linkov @ 2024-06-14 16:41 UTC (permalink / raw) To: Eshel Yaron; +Cc: emacs-devel, Dmitry Gutov >> Lisp error: (wrong-type-argument number-or-marker-p nil) > > Hmm that's quite curious... I can reproduce it also without my change > in 56537ab0228, FWIW. AFAICT the issue is that icomplete trims the > prefix from completion candidates before passing them to > completion-lazy-hilit, while completion--hilit-from-re expects the full > candidate (prefix included). I'm not deeply familiar with icomplete, > but maybe calling completion-lazy-hilit before trimming the candidates > as in the diff below should do the trick? Thanks, I confirm with this change icomplete doesn't fail anymore. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-14 16:41 ` Juri Linkov @ 2024-06-14 18:04 ` Eshel Yaron 2024-06-14 22:44 ` Dmitry Gutov 2024-06-30 16:29 ` Juri Linkov 1 sibling, 1 reply; 15+ messages in thread From: Eshel Yaron @ 2024-06-14 18:04 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel, Dmitry Gutov Juri Linkov <juri@linkov.net> writes: >>> Lisp error: (wrong-type-argument number-or-marker-p nil) >> >> Hmm that's quite curious... I can reproduce it also without my change >> in 56537ab0228, FWIW. AFAICT the issue is that icomplete trims the >> prefix from completion candidates before passing them to >> completion-lazy-hilit, while completion--hilit-from-re expects the full >> candidate (prefix included). I'm not deeply familiar with icomplete, >> but maybe calling completion-lazy-hilit before trimming the candidates >> as in the diff below should do the trick? > > Thanks, I confirm with this change icomplete doesn't fail anymore. Thanks for confirming, pushed to master as commit 3b07d330591. Eshel ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-14 18:04 ` Eshel Yaron @ 2024-06-14 22:44 ` Dmitry Gutov 0 siblings, 0 replies; 15+ messages in thread From: Dmitry Gutov @ 2024-06-14 22:44 UTC (permalink / raw) To: Eshel Yaron, Juri Linkov; +Cc: emacs-devel On 14/06/2024 21:04, Eshel Yaron wrote: > Juri Linkov<juri@linkov.net> writes: > >>>> Lisp error: (wrong-type-argument number-or-marker-p nil) >>> Hmm that's quite curious... I can reproduce it also without my change >>> in 56537ab0228, FWIW. AFAICT the issue is that icomplete trims the >>> prefix from completion candidates before passing them to >>> completion-lazy-hilit, while completion--hilit-from-re expects the full >>> candidate (prefix included). I'm not deeply familiar with icomplete, >>> but maybe calling completion-lazy-hilit before trimming the candidates >>> as in the diff below should do the trick? >> Thanks, I confirm with this change icomplete doesn't fail anymore. > Thanks for confirming, pushed to master as commit 3b07d330591. Looking good, thank you. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-14 16:41 ` Juri Linkov 2024-06-14 18:04 ` Eshel Yaron @ 2024-06-30 16:29 ` Juri Linkov 2024-06-30 18:14 ` Eshel Yaron 1 sibling, 1 reply; 15+ messages in thread From: Juri Linkov @ 2024-06-30 16:29 UTC (permalink / raw) To: Eshel Yaron; +Cc: emacs-devel, Dmitry Gutov >>> Lisp error: (wrong-type-argument number-or-marker-p nil) >> >> Hmm that's quite curious... I can reproduce it also without my change >> in 56537ab0228, FWIW. AFAICT the issue is that icomplete trims the >> prefix from completion candidates before passing them to >> completion-lazy-hilit, while completion--hilit-from-re expects the full >> candidate (prefix included). I'm not deeply familiar with icomplete, >> but maybe calling completion-lazy-hilit before trimming the candidates >> as in the diff below should do the trick? > > Thanks, I confirm with this change icomplete doesn't fail anymore. I don't know what commits caused this, but there is still a regression in another case: 0. emacs -Q 1. M-x icomplete-mode RET 2. M-x rgrep RET foo RET b Error in post-command-hook (icomplete-post-command-hook): (wrong-type-argument number-or-marker-p nil) ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-30 16:29 ` Juri Linkov @ 2024-06-30 18:14 ` Eshel Yaron 2024-07-01 6:57 ` Juri Linkov 0 siblings, 1 reply; 15+ messages in thread From: Eshel Yaron @ 2024-06-30 18:14 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel, Dmitry Gutov Hi Juri, Juri Linkov <juri@linkov.net> writes: > I don't know what commits caused this, but there is still a regression > in another case: > > 0. emacs -Q > 1. M-x icomplete-mode RET > 2. M-x rgrep RET foo RET b > > Error in post-command-hook (icomplete-post-command-hook): > (wrong-type-argument number-or-marker-p nil) Ouch. AFAICT the problem is in grep.el, and it's not specific to icomplete-mode, e.g. I can reproduce it with: M-: (grep-read-files "foo") RET b ? grep-read-files calls completing-read with a misbehaving completion table, that returns some completion candidates unconditionally. This breaks the assumption of completion-pcm--all-completions that the candidates it gets actually match the given pattern. Does the diff below help? (Note that this change has the downside that file name quoting/unquoting is no longer applied. Handling that with completion-table-merge might be a bit more tricky.) diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 459f00e6805..e8d1e692d0f 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -1181,9 +1181,7 @@ grep-read-files (files (completing-read (format-prompt "Search for \"%s\" in files matching wildcard" default regexp) - (completion-table-merge - (lambda (_string _pred _action) defaults) - #'read-file-name-internal) + (completion-table-merge defaults #'completion-file-name-table) nil nil nil 'grep-files-history defaults))) (and files (or (cdr (assoc files grep-files-aliases)) ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-06-30 18:14 ` Eshel Yaron @ 2024-07-01 6:57 ` Juri Linkov 2024-07-01 8:58 ` Eshel Yaron 0 siblings, 1 reply; 15+ messages in thread From: Juri Linkov @ 2024-07-01 6:57 UTC (permalink / raw) To: Eshel Yaron; +Cc: emacs-devel, Dmitry Gutov >> 1. M-x icomplete-mode RET >> 2. M-x rgrep RET foo RET b >> >> Error in post-command-hook (icomplete-post-command-hook): >> (wrong-type-argument number-or-marker-p nil) > > Ouch. AFAICT the problem is in grep.el, and it's not specific to > icomplete-mode, e.g. I can reproduce it with: > > M-: (grep-read-files "foo") RET b ? Also typing 'el TAB' after RET gives: Debugger entered--Lisp error: (error "Internal error: all doesn’t match \\`el") signal(error ("Internal error: all doesn’t match \\`el")) error("Internal error: %s doesn't match %s" "all" "\\`el") completion-pcm--merge-completions(("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") ("el")) completion-pcm--merge-try(("el") ("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") "" "") > grep-read-files calls completing-read with a misbehaving completion > table, that returns some completion candidates unconditionally. This > breaks the assumption of completion-pcm--all-completions that the > candidates it gets actually match the given pattern. > > Does the diff below help? Thanks, after short testing I see it doesn't lose the ability to complete in both cases: a list of abbreviations and file names, while fixing the problem above, so it looks like the right thing to do. > (Note that this change has the downside that file name quoting/unquoting > is no longer applied. Handling that with completion-table-merge might > be a bit more tricky.) Not sure how serious this limitation is. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-07-01 6:57 ` Juri Linkov @ 2024-07-01 8:58 ` Eshel Yaron 2024-07-01 16:29 ` Juri Linkov 0 siblings, 1 reply; 15+ messages in thread From: Eshel Yaron @ 2024-07-01 8:58 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel, Dmitry Gutov Juri Linkov <juri@linkov.net> writes: >>> 1. M-x icomplete-mode RET >>> 2. M-x rgrep RET foo RET b >>> >>> Error in post-command-hook (icomplete-post-command-hook): >>> (wrong-type-argument number-or-marker-p nil) >> >> Ouch. AFAICT the problem is in grep.el, and it's not specific to >> icomplete-mode, e.g. I can reproduce it with: >> >> M-: (grep-read-files "foo") RET b ? > > Also typing 'el TAB' after RET gives: > > Debugger entered--Lisp error: (error "Internal error: all doesn’t match \\`el") > signal(error ("Internal error: all doesn’t match \\`el")) > error("Internal error: %s doesn't match %s" "all" "\\`el") > completion-pcm--merge-completions(("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") ("el")) > completion-pcm--merge-try(("el") ("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") "" "") > >> Does the diff below help? > > Thanks, after short testing I see it doesn't lose the ability to complete > in both cases: a list of abbreviations and file names, while fixing > the problem above, so it looks like the right thing to do. Great. >> (Note that this change has the downside that file name quoting/unquoting >> is no longer applied. Handling that with completion-table-merge might >> be a bit more tricky.) > > Not sure how serious this limitation is. Yes, it's very minor, I think. This issue is present already in Emacs 29 with partial-completion at the front of completion-styles, but in Emacs 30 it affects the default setup. Should we fix this on master or on the release branch? ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-07-01 8:58 ` Eshel Yaron @ 2024-07-01 16:29 ` Juri Linkov 2024-07-02 11:12 ` Eli Zaretskii 0 siblings, 1 reply; 15+ messages in thread From: Juri Linkov @ 2024-07-01 16:29 UTC (permalink / raw) To: Eshel Yaron; +Cc: emacs-devel, Dmitry Gutov >>>> 1. M-x icomplete-mode RET >>>> 2. M-x rgrep RET foo RET b >>>> >>>> Error in post-command-hook (icomplete-post-command-hook): >>>> (wrong-type-argument number-or-marker-p nil) >>> >>> Ouch. AFAICT the problem is in grep.el, and it's not specific to >>> icomplete-mode, e.g. I can reproduce it with: >>> >>> M-: (grep-read-files "foo") RET b ? >> >> Also typing 'el TAB' after RET gives: >> >> Debugger entered--Lisp error: (error "Internal error: all doesn’t match \\`el") >> signal(error ("Internal error: all doesn’t match \\`el")) >> error("Internal error: %s doesn't match %s" "all" "\\`el") >> completion-pcm--merge-completions(("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") ("el")) >> completion-pcm--merge-try(("el") ("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") "" "") >> >>> Does the diff below help? >> >> Thanks, after short testing I see it doesn't lose the ability to complete >> in both cases: a list of abbreviations and file names, while fixing >> the problem above, so it looks like the right thing to do. > > Great. > >>> (Note that this change has the downside that file name quoting/unquoting >>> is no longer applied. Handling that with completion-table-merge might >>> be a bit more tricky.) >> >> Not sure how serious this limitation is. > > Yes, it's very minor, I think. > > This issue is present already in Emacs 29 with partial-completion at the > front of completion-styles, but in Emacs 30 it affects the default setup. > Should we fix this on master or on the release branch? I don't know what Eli will decide, but this bug exists in the release branch. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-07-01 16:29 ` Juri Linkov @ 2024-07-02 11:12 ` Eli Zaretskii 2024-07-02 12:17 ` Eshel Yaron 0 siblings, 1 reply; 15+ messages in thread From: Eli Zaretskii @ 2024-07-02 11:12 UTC (permalink / raw) To: Juri Linkov; +Cc: me, emacs-devel, dmitry > From: Juri Linkov <juri@linkov.net> > Cc: emacs-devel@gnu.org, Dmitry Gutov <dmitry@gutov.dev> > Date: Mon, 01 Jul 2024 19:29:37 +0300 > > >>>> 1. M-x icomplete-mode RET > >>>> 2. M-x rgrep RET foo RET b > >>>> > >>>> Error in post-command-hook (icomplete-post-command-hook): > >>>> (wrong-type-argument number-or-marker-p nil) > >>> > >>> Ouch. AFAICT the problem is in grep.el, and it's not specific to > >>> icomplete-mode, e.g. I can reproduce it with: > >>> > >>> M-: (grep-read-files "foo") RET b ? > >> > >> Also typing 'el TAB' after RET gives: > >> > >> Debugger entered--Lisp error: (error "Internal error: all doesn’t match \\`el") > >> signal(error ("Internal error: all doesn’t match \\`el")) > >> error("Internal error: %s doesn't match %s" "all" "\\`el") > >> completion-pcm--merge-completions(("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") ("el")) > >> completion-pcm--merge-try(("el") ("all" "el" "ch" "c" "cc" "cchh" "hh" "h" "l" "am" "m" "tex" "texi" "asm") "" "") > >> > >>> Does the diff below help? > >> > >> Thanks, after short testing I see it doesn't lose the ability to complete > >> in both cases: a list of abbreviations and file names, while fixing > >> the problem above, so it looks like the right thing to do. > > > > Great. > > > >>> (Note that this change has the downside that file name quoting/unquoting > >>> is no longer applied. Handling that with completion-table-merge might > >>> be a bit more tricky.) > >> > >> Not sure how serious this limitation is. > > > > Yes, it's very minor, I think. > > > > This issue is present already in Emacs 29 with partial-completion at the > > front of completion-styles, but in Emacs 30 it affects the default setup. > > Should we fix this on master or on the release branch? > > I don't know what Eli will decide, but this bug exists in the release branch. Please fix on the emacs-30 release branch, and thanks. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too 2024-07-02 11:12 ` Eli Zaretskii @ 2024-07-02 12:17 ` Eshel Yaron 0 siblings, 0 replies; 15+ messages in thread From: Eshel Yaron @ 2024-07-02 12:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Juri Linkov, emacs-devel, dmitry Eli Zaretskii <eliz@gnu.org> writes: >> From: Juri Linkov <juri@linkov.net> [...] >> > This issue is present already in Emacs 29 with partial-completion at the >> > front of completion-styles, but in Emacs 30 it affects the default setup. >> > Should we fix this on master or on the release branch? >> >> I don't know what Eli will decide, but this bug exists in the release branch. > > Please fix on the emacs-30 release branch, and thanks. Done in commit 850fc68481a. Best, Eshel ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-07-02 12:17 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <171823002031.28307.18221225159709452537@vcs2.savannah.gnu.org> [not found] ` <20240612220700.A0F4DC1FB4C@vcs2.savannah.gnu.org> 2024-06-13 8:20 ` master 6b7ff60a5e7: Highlight the suffix in *Completions* buffer in 'basic' style too Eshel Yaron 2024-06-13 14:11 ` Dmitry Gutov 2024-06-13 14:51 ` Eshel Yaron 2024-06-14 6:10 ` Juri Linkov 2024-06-14 7:35 ` Eshel Yaron 2024-06-14 16:41 ` Juri Linkov 2024-06-14 18:04 ` Eshel Yaron 2024-06-14 22:44 ` Dmitry Gutov 2024-06-30 16:29 ` Juri Linkov 2024-06-30 18:14 ` Eshel Yaron 2024-07-01 6:57 ` Juri Linkov 2024-07-01 8:58 ` Eshel Yaron 2024-07-01 16:29 ` Juri Linkov 2024-07-02 11:12 ` Eli Zaretskii 2024-07-02 12:17 ` Eshel Yaron
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).