bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11339: 24.1.50; read-{buffer,file-name}-completion-ignore-case fails


From: Stefan Monnier
Subject: bug#11339: 24.1.50; read-{buffer,file-name}-completion-ignore-case fails on non-ascii
Date: Thu, 07 Nov 2019 11:27:50 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

>> I think the core of the bug is reproduced below:
>> 
>>     M-: (let ((completion-ignore-case t)) (try-completion "bah" '("bah" 
>> "bAh")))
>> 
>> this returns t instead of returning "bah".
>> Probably an error in the handling of `matchcount` in `try-completion`.
>
> Are you sure?

I think so, yes.

> I think the return value of t is expected, per these
> comments in try-completion:

I don't think so:

>                 /* If this is an exact match except for case,
>                    use it as the best match rather than one that is not an
>                    exact match.  This way, we get the case pattern
>                    of the actual match.  */

This says that (try-completion "bah" '("bAh" "bahfoo")) should return "bAh"

>                     /* If there is more than one exact match ignoring case,
>                        and one of them is exact including case,
>                        prefer that one.  */

This says (try-completion "bah" '("bah" "bAh")) should return "bah" rather
than "bAh", which also agrees with I said above (it should not return t).

>                     /* If there is no exact match ignoring case,
>                        prefer a match that does not change the case
>                        of the input.  */

This says that (try-completion "bah" '("bAhbar" "bahfoo")) should return
"bah" rather than "bAh".


        Stefan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]