Subject: bug#1062 closed by Chong Yidong <[email-masked]> (Re: 23.0.60; minibuffer-completion-help incomplete)

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#1062: 23.0.60; minibuffer-completion-help incomplete

It has been closed by Chong Yidong <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <[email-masked]> by
replying to this email.

-- 
1062: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1062
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Sat Nov  8 08:57:06 2008
From: Chong Yidong <[email-masked]>
To: Stephen Berman <[email-masked]>
Cc: [email-masked]
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.

>From [email-masked] Wed Oct  1 03:01:07 2008
From: Stephen Berman <[email-masked]>
To: [email-masked]
Subject: 23.0.60; minibuffer-completion-help incomplete
Sender: [email-masked]
Date: Wed, 01 Oct 2008 12:00:52 +0200

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)))