Subject: bug#1062: 23.0.60; minibuffer-completion-help incomplete

From: Stephen Berman <[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)))