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: Eli Zaretskii
Subject: bug#11339: 24.1.50; read-{buffer,file-name}-completion-ignore-case fails on non-ascii
Date: Thu, 07 Nov 2019 18:08:00 +0200

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Eli Zaretskii <eliz@gnu.org>,  11339@debbugs.gnu.org,  stefan@marxist.se
> Date: Thu, 07 Nov 2019 11:01:01 -0500
> 
> 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 the return value of t is expected, per these
comments in try-completion:

              if (completion_ignore_case)
                {
                  /* 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.  */
                  if ((matchsize == SCHARS (eltstring)
                       && matchsize < SCHARS (bestmatch))
                      ||
                      /* If there is more than one exact match ignoring case,
                         and one of them is exact including case,
                         prefer that one.  */
                      /* If there is no exact match ignoring case,
                         prefer a match that does not change the case
                         of the input.  */





reply via email to

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