GNU bug report logs - #49761
file-cache-minibuffer-complete has become unusable for duplicate file names in MacOSX 27.x emacs

Previous Next

Package: emacs;

Reported by: Aaron Cohen <aaron <at> brightbytes.net>

Date: Wed, 28 Jul 2021 19:39:01 UTC

Severity: normal

Tags: fixed

Fixed in version 28.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


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

From: Aaron Cohen <aaron <at> brightbytes.net>
To: Juri Linkov <juri <at> linkov.net>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 49761 <at> debbugs.gnu.org
Subject: Re: bug#49761: file-cache-minibuffer-complete has become unusable for
 duplicate file names in MacOSX 27.x emacs
Date: Mon, 2 Aug 2021 13:12:07 -0700
[Message part 1 (text/plain, inline)]
Oh, and I've confirmed that the workaround of `C-u C-Tab` works great for
cycling through files when `C-Tab` would otherwise get stuck.  So, I'm good
until the next official release.

On Mon, Aug 2, 2021 at 1:02 PM Aaron Cohen <aaron <at> brightbytes.net> wrote:

> Very much appreciated!!
>
> And thank you for investigating and isolating the issue: I had
> misidentified the actual problem and didn't provide a duplication recipe,
> making your job much harder.
>
> I promise to do better next time, and provide a test case.  :-)
>
> Thanks again!!
>
> On Sun, Aug 1, 2021 at 1:41 AM Juri Linkov <juri <at> linkov.net> wrote:
>
>> tags 49761 fixed
>> close 49761 28.0.50
>> thanks
>>
>> > Well, it's now the default behavior.  It wasn't previously.  :-)
>>
>> And new is not always better ;-)
>>
>> So now the new behavior (that became old now) was fixed
>> in the master branch for Emacs 28, and all test cases
>> that you presented work completely as expected.
>> Thanks for helping to understand where the problem was.
>>
>> BTW, after the fix, the following additional information
>> is not necessary, but I discovered that in old versions
>> you can use the prefix argument to force C-TAB cycling.
>>
>> An excerpt from etc/NEWS.20:
>>
>>   ** file-cache-minibuffer-complete now accepts a prefix argument.
>>   With a prefix argument, it does not try to do completion of
>>   the file name within its directory; it only checks for other
>>   directories that contain the same file name.
>>   Thus, given the file name Makefile, and assuming that a file
>>   Makefile.in exists in the same directory, ordinary
>>   file-cache-minibuffer-complete will try to complete Makefile to
>>   Makefile.in and will therefore never look for other directories that
>>   have Makefile.  A prefix argument tells it not to look for longer
>>   names such as Makefile.in, so that instead it will look for other
>>   directories--just as if the name were already complete in its present
>>   directory.
>>
>> and a comment from bindings.el:
>>
>>   ;; The prefix argument works around a bug in the minibuffer completion.
>>   ;; The completion function doesn't distinguish between the states:
>>   ;;
>>   ;;   "Multiple completions of name" (eg, Makefile, Makefile.in)
>>   ;;   "Name available in multiple directories" (/tmp/Makefile,
>> ~me/Makefile)
>>   ;;
>>   ;; The default is to do the former; a prefix arg forces the latter.
>>
>
[Message part 2 (text/html, inline)]

This bug report was last modified 3 years and 292 days ago.

Previous Next


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