GNU bug report logs - #77718
31.0.50; completion styles substring and flex are broken

Previous Next

Package: emacs;

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

Date: Thu, 10 Apr 2025 22:23:02 UTC

Severity: normal

Found in version 31.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: Spencer Baugh <sbaugh <at> janestreet.com>, Eli Zaretskii <eliz <at> gnu.org>, 77718 <at> debbugs.gnu.org
Subject: bug#77718: 31.0.50; completion styles substring and flex are broken
Date: Tue, 17 Jun 2025 15:55:25 -0400
> I'm not sure what you mean by "no other regression", but what I reported
> upstream still holds in current master.  That is, start Emacs like this:
>
> emacs -Q --eval "(custom-set-variables '(completion-category-overrides
> '((file (styles substring)))))"
>
> After typing `C-x d / TAB', I see this on master:
>
>    Dired (directory): ~///
>
> and after continuing typing `us TAB TAB', I see this:
>
>    Dired (directory): ~//usr//

When I try your recipe I see something very similar, but my cursor is
positioned right *before* the last `/`, so in terms of completion, it
seems like an acceptable behavior (I'm not sure it's very useful, but
it's the result of the generic attempt to insert the longest common
substring, which happens to be just "/").

I do see one problem which is that the whole `~//usr/` prefix is greyed
out by the rfn-shadow.
It's not strictly incorrect since "/" is indeed the filename that would be
returned if I were to hit RET to exit the minibuffer, but given that
point is *before* it, we could argue that the `rfn-shadow` could/should
presume that I'm about to type something in there, which will
immediately bring the `/usr` back to life.


        Stefan





This bug report was last modified today.

Previous Next


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