--- Begin Message ---
Subject: |
23.0.60; minibuffer-completion-help incomplete |
Date: |
Wed, 01 Oct 2008 12:00:52 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
GNU Emacs 23.0.60.5 (i686-pc-linux-gnu, GTK+ Version 2.12.9) of
2008-10-01 on escher
1. emacs -Q
2. Let some directory contain the files "tested" and "Testing" and no other
files beginning with "test" or "Test".
3. M-x set-variable RET read-file-name-completion-ignore-case RET t RET
4. C-x C-f <directory/in/step/2>/test
5. Now type TAB or "?" and a *Completions* buffer pops that shows only
"tested" as a possible completion. However, typing "i" next and then
TAB does complete to "Testing".
If before doing step 4 completion-styles is set to (emacs22), then after
the first TAB or ? in step 5 the *Completions* buffer shows both
"tested" and "Testing".
The following patch makes the *Completions* buffer show all possible
completions in step 5 also with the default completion-style basic, but
I don't know if it has undesirable consequences elsewhere.
Steve Berman
*** emacs/lisp/minibuffer.el.~1.58.~ 2008-09-04 16:16:19.000000000 +0200
--- emacs/lisp/minibuffer.el 2008-10-01 11:42:40.000000000 +0200
***************
*** 1316,1322 ****
"" (list (substring beforepoint (car bounds))
'point
(substring afterpoint 0 (cdr bounds)))))
! (all (completion-pcm--all-completions prefix pattern table pred)))
(completion-hilit-commonality
(if (consp all) (nconc all (car bounds)) all)
point)))
--- 1316,1324 ----
"" (list (substring beforepoint (car bounds))
'point
(substring afterpoint 0 (cdr bounds)))))
! (all (if completion-ignore-case
! (all-completions (substring string 0 point) table pred)
! (completion-pcm--all-completions prefix pattern table pred))))
(completion-hilit-commonality
(if (consp all) (nconc all (car bounds)) all)
point)))
--- End Message ---
--- Begin Message ---
Subject: |
Re: 23.0.60; minibuffer-completion-help incomplete |
Date: |
Sat, 08 Nov 2008 11:57:14 -0500 |
> 1. emacs -Q
> 2. Let some directory contain the files "tested" and "Testing" and no
> other
> files beginning with "test" or "Test".
> 3. M-x set-variable RET read-file-name-completion-ignore-case RET t RET
> 4. C-x C-f <directory/in/step/2>/test
> 5. Now type TAB or "?" and a *Completions* buffer pops that shows only
> "tested" as a possible completion. However, typing "i" next and then
> TAB does complete to "Testing".
>
> The following patch makes the *Completions* buffer show all possible
> completions in step 5 also with the default completion-style basic, but
> I don't know if it has undesirable consequences elsewhere.
The bug was actually in the C code: file-name-all-completions did not
handle completion-regexp-list properly. I've checked in a fix. Thanks
for the bug report.
--- End Message ---