Subject: Re: bug#11339: 24.1.50; read-{buffer,file-name}-completion-ignore-case fails on non-ascii

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 Nov 2019 09:11:54 +0200

> From: Stephen Berman <[email-masked]>
> Cc: Stefan Kangas <[email-masked]>,  [email-masked]
> Date: Fri, 01 Nov 2019 23:37:54 +0100
> 
> I think the expectation I had about the variables
> read-{buffer,file-name}-completion-ignore-case was that they allow
> getting information with less effort, in that by typing either a lower
> or an upper case character, you would see names that have either or both
> cases.  And that is apparently what I (thought I) had experienced with
> ASCII characters but not with non-ASCII characters, which I assume is
> what prompted my OP.  Unfortunately, the recipe in my OP did not include
> the `bah' and `bAh' cases as a sanity check, and now I find the same
> behavior with them as reported above for the non-ASCII cases.  So it
> seems either the handling of the ASCII cases has changed since my OP, or
> I was mistaken at the time in thinking there was a difference.  I also
> followed up my OP more than a year later, reporting that the bug still
> existed and adding a further observation
> (https://lists.gnu.org/archive/html/bug-gnu-emacs/2013-07/msg00340.html).
> And regarding the latter, on recent master that does indeed show a
> difference between ASCII and non-ASCII characters:
> 
> 0. touch /tmp/{bah,bAG,bäh,bÄg}
> 1. emacs-master -Q --eval '(setq read-buffer-completion-ignore-case t read-file-name-completion-ignore-case t)' /tmp/{bah,bAg,bäh,bÄg}
> 2. C-x b *scratch*
> 3a. C-x b ba TAB
>    => *Completions* pops up showing `bAg' and `bah'
> 3b. C-x b bA TAB
>    => *Completions* pops up showing `bAg' and `bah'
> 4a. C-g C-x b bä TAB
>    => *Completions* pops up showing `bÄg' and `bäh'
> 4b. C-g C-x b bÄ TAB
>    => *Completions* pops up showing `bÄg' and `bäh'
> 5a. C-g C-x C-f /tmp/ba TAB
>    => *Completions* pops up showing `bAg' and `bah'
> 5b. C-g C-x C-f /tmp/bA TAB
>    => *Completions* pops up showing `bAg' and `bah'
> 6a. C-g C-x C-f /tmp/bä TAB
>   => completes to /tmp/bäh
> 6a. C-g C-x C-f /tmp/bÄ TAB
>   => completes to /tmp/bÄg

I'm confused wrt what you are saying here.  Your original report
seemed to be about read-buffer-completion-ignore-case not working as
expected with non-ASCII buffer names.  Are you now saying that the
problem is actually with read-file-name-completion-ignore-case
instead?  Or are you saying something else?

(May I suggest in the future to state explicitly the conclusion(s)
from the evidence you present, so as to make the communications more
efficient?  TIA)