GNU bug report logs - #11338
24.1.50; read-buffer-completion-ignore-case fails on one-character names

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Wed, 25 Apr 2012 15:39:02 UTC

Severity: normal

Found in version 24.1.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11338 in the body.
You can then email your comments to 11338 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Wed, 25 Apr 2012 15:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stephen Berman <stephen.berman <at> gmx.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 25 Apr 2012 15:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.1.50;
	read-buffer-completion-ignore-case fails on one-character names
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 cyd <at> gnu.org-20120418070052-e6bm11h52qja62ue
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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Mon, 07 Dec 2020 17:21:02 GMT) Full text and rfc822 format available.

Message #8 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 11338 <at> debbugs.gnu.org
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Mon, 07 Dec 2020 18:20:48 +0100
[Message part 1 (text/plain, inline)]
Stephen Berman <stephen.berman <at> gmx.net> writes:

> 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]".

(This bug report unfortunately got no response at the time.)

I tried this in Emacs 28, and I got:

[Message part 2 (image/png, inline)]
[Message part 3 (text/plain, inline)]
So I'm going to go ahead and guess that this has been fixed at some
point in the years since this was reported, and I'm closing this bug
report.  If this is still and issue, please respond to the debbugs
address, and we'll reopen.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

bug closed, send any further explanations to 11338 <at> debbugs.gnu.org and Stephen Berman <stephen.berman <at> gmx.net> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 07 Dec 2020 17:22:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Mon, 07 Dec 2020 18:21:02 GMT) Full text and rfc822 format available.

Message #13 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 11338 <at> debbugs.gnu.org
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Mon, 07 Dec 2020 19:20:20 +0100
On Mon, 07 Dec 2020 18:20:48 +0100 Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> Stephen Berman <stephen.berman <at> gmx.net> writes:
>
>> 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]".
>
> (This bug report unfortunately got no response at the time.)
>
> I tried this in Emacs 28, and I got:

[*Completions* buffer showing both A and a]

> So I'm going to go ahead and guess that this has been fixed at some
> point in the years since this was reported, and I'm closing this bug
> report.  If this is still and issue, please respond to the debbugs
> address, and we'll reopen.

Did you follow the above recipe exactly in order?  When I do that in
master, emacs-27 and emacs-26 (all with -Q), when at step 2 I type `C-x
b RET A' buffer `a' remains the current buffer and `C-x C-b' shows no
buffer `A'.  Only if I move step 1 of the recipe to after step 2 do I
get the same thing as in your screenshot.  So I agree that the bug I
reported seems to have been fixed, but there appears to be a new bug
which wasn't present in 24.1.50 (which I don't have readily available to
test now): that it's apparently not possible with
read-buffer-completion-ignore-case non-nil to switch to a non-existing
buffer whose name differs from an existing buffer only in case.  If you
confirm, I'll report a new bug.  Or is this considered expected behavior
(and if so, why)?

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Tue, 08 Dec 2020 13:58:01 GMT) Full text and rfc822 format available.

Message #16 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 11338 <at> debbugs.gnu.org
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Tue, 08 Dec 2020 14:57:34 +0100
Stephen Berman <stephen.berman <at> gmx.net> writes:

> Did you follow the above recipe exactly in order?

No, it's impossible to create the "A" buffer in Emacs now, apparently.

> So I agree that the bug I reported seems to have been fixed, but there
> appears to be a new bug which wasn't present in 24.1.50 (which I don't
> have readily available to test now): that it's apparently not possible
> with read-buffer-completion-ignore-case non-nil to switch to a
> non-existing buffer whose name differs from an existing buffer only in
> case.  If you confirm, I'll report a new bug.

Yup, that's how Emacs behaves now.

> Or is this considered expected behavior (and if so, why)?

I've never used that variable before, and the behaviour was unexpected
to me, but I don't know what people who do use it expect.  It's pretty
odd, though -- the variable is about completion, but Emacs now seems to
interpret it as "Emacs should ignore all case differences in buffer
names (interactively)", which is something slightly different.

So I think opening a new bug report here would make sense, and we can
gather feedback on whether this makes sense or not.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Tue, 08 Dec 2020 15:49:01 GMT) Full text and rfc822 format available.

Message #19 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 11338 <at> debbugs.gnu.org, stephen.berman <at> gmx.net
Subject: Re: bug#11338: 24.1.50;
 read-buffer-completion-ignore-case fails on one-character names
Date: Tue, 08 Dec 2020 17:47:57 +0200
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Tue, 08 Dec 2020 14:57:34 +0100
> Cc: 11338 <at> debbugs.gnu.org
> 
> I've never used that variable before, and the behaviour was unexpected
> to me, but I don't know what people who do use it expect.  It's pretty
> odd, though -- the variable is about completion, but Emacs now seems to
> interpret it as "Emacs should ignore all case differences in buffer
> names (interactively)", which is something slightly different.

RET in the minibuffer invokes completion, doesn't it?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Tue, 08 Dec 2020 16:22:01 GMT) Full text and rfc822 format available.

Message #22 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 11338 <at> debbugs.gnu.org, stephen.berman <at> gmx.net
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Tue, 08 Dec 2020 17:21:20 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> I've never used that variable before, and the behaviour was unexpected
>> to me, but I don't know what people who do use it expect.  It's pretty
>> odd, though -- the variable is about completion, but Emacs now seems to
>> interpret it as "Emacs should ignore all case differences in buffer
>> names (interactively)", which is something slightly different.
>
> RET in the minibuffer invokes completion, doesn't it?

Not usually.  Try

emacs -Q
C-x b *Me RET

You'll get a buffer called "*Me" without that being completed to
"*Messages*".

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Tue, 08 Dec 2020 16:50:02 GMT) Full text and rfc822 format available.

Message #25 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 11338 <at> debbugs.gnu.org, stephen.berman <at> gmx.net
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Tue, 08 Dec 2020 18:49:38 +0200
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: stephen.berman <at> gmx.net,  11338 <at> debbugs.gnu.org
> Date: Tue, 08 Dec 2020 17:21:20 +0100
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > RET in the minibuffer invokes completion, doesn't it?
> 
> Not usually.  Try
> 
> emacs -Q
> C-x b *Me RET
> 
> You'll get a buffer called "*Me" without that being completed to
> "*Messages*".

But if I do

  emacs -Q
  C-x b
  C-h c RET

Emacs says that RET runs the command minibuffer-complete-and-exit.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11338; Package emacs. (Tue, 08 Dec 2020 17:26:01 GMT) Full text and rfc822 format available.

Message #28 received at 11338 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 11338 <at> debbugs.gnu.org, stephen.berman <at> gmx.net
Subject: Re: bug#11338: 24.1.50; read-buffer-completion-ignore-case fails on
 one-character names
Date: Tue, 08 Dec 2020 18:25:34 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> emacs -Q
>> C-x b *Me RET
>> 
>> You'll get a buffer called "*Me" without that being completed to
>> "*Messages*".
>
> But if I do
>
>   emacs -Q
>   C-x b
>   C-h c RET
>
> Emacs says that RET runs the command minibuffer-complete-and-exit.

It does, but...  it doesn't.  :-)  RET is different from TAB RET, at
least in the *Messages* case.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 06 Jan 2021 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.