Subject: 24.1.50; read-buffer-completion-ignore-case fails on one-character names

From: Stephen Berman <[email-masked]>
Date: Wed, 25 Apr 2012 17:37:04 +0200

0. emacs -Q
1. M-x customize-option RET read-buffer-completion-ignore-case RET.
   Toggle to "on", set for the current session.
2. Type `C-x b RET a', then `C-x b RET A', then `C-x b RET ahjk', then
   switch to buffer *scratch*.
3. C-x b a TAB => Emacs correctly reports: "[Complete, but not unique]"
4. TAB => *Completions* buffer contains, as expected: A a ahjk.
5. C-x k ahjk RET.
6. C-x b a TAB => Emacs incorrectly reports: "[Sole completion]".
7. C-x b A TAB => Emacs incorrectly reports: "[Sole completion]".

In contrast, if I have files named `a' and `A', set
read-file-name-completion-ignore-case to non-nil and type `C-x C-f a
TAB', the *Completions* buffer shows, as expected, both `a' and `A'.

In GNU Emacs 24.1.50.1 (i686-suse-linux-gnu, GTK+ Version 2.24.7)
 of 2012-04-18 on escher
Bzr revision: 107959 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
Configured using:
 `configure '--without-toolkit-scroll-bars' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t