From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Cohen Newsgroups: gmane.emacs.bugs Subject: bug#49761: file-cache-minibuffer-complete has become unusable for duplicate file names in MacOSX 27.x emacs Date: Mon, 2 Aug 2021 13:02:46 -0700 Message-ID: References: <87o8alvwby.fsf@mail.linkov.net> <83bl6lrnrh.fsf@gnu.org> <878s1pvunb.fsf@mail.linkov.net> <838s1osyv1.fsf@gnu.org> <87y29ovrgj.fsf@mail.linkov.net> <87v94su45t.fsf@mail.linkov.net> <8335rws641.fsf@gnu.org> <87lf5nisyo.fsf@mail.linkov.net> <87k0l5j1u1.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000b355b205c8990fdc" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28456"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 49761@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 02 22:04:11 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mAeAU-0007BY-0h for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 02 Aug 2021 22:04:10 +0200 Original-Received: from localhost ([::1]:57006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mAeAR-0000z6-Vk for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 02 Aug 2021 16:04:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44712) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAeAM-0000ys-Mh for bug-gnu-emacs@gnu.org; Mon, 02 Aug 2021 16:04:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56031) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mAeAM-0000ez-Ds for bug-gnu-emacs@gnu.org; Mon, 02 Aug 2021 16:04:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mAeAM-0002pV-3T for bug-gnu-emacs@gnu.org; Mon, 02 Aug 2021 16:04:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Aaron Cohen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Aug 2021 20:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49761 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed Original-Received: via spool by 49761-submit@debbugs.gnu.org id=B49761.162793461110839 (code B ref 49761); Mon, 02 Aug 2021 20:04:02 +0000 Original-Received: (at 49761) by debbugs.gnu.org; 2 Aug 2021 20:03:31 +0000 Original-Received: from localhost ([127.0.0.1]:39344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAe9q-0002ol-I5 for submit@debbugs.gnu.org; Mon, 02 Aug 2021 16:03:30 -0400 Original-Received: from mail-oi1-f179.google.com ([209.85.167.179]:33685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAe9o-0002oX-7v for 49761@debbugs.gnu.org; Mon, 02 Aug 2021 16:03:28 -0400 Original-Received: by mail-oi1-f179.google.com with SMTP id 26so7617784oiy.0 for <49761@debbugs.gnu.org>; Mon, 02 Aug 2021 13:03:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brightbytes.net; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ANQaqOLekL9CRaN0U4hqBGw80qa5i0sr0XrLm342le0=; b=Y6QzlnoaIJw9nnRXuDRktPN4nuHAlQo1tUuQQlVScc1cBda2zVzzoEGBnkEO4BKo+W uRlbRD/4BsKneEAtDZUueg7EtoE81mTXsRs0nyKmiamyBpVuzU4U5A72D+2rnOn49hAo 7ckEJYY0Qvx4jL4PnSFd2C5d5FafvyV+iKHzk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ANQaqOLekL9CRaN0U4hqBGw80qa5i0sr0XrLm342le0=; b=A6AdDQ7my0V5VuZ/Ym5P4wd/FuBndWdWSwzf3lr7AvgAUpZ0Sbluc9mMLMk94m8zWE +KVt564T+HdGtWpOT5T/hQFcpDOkgGawq/oejEuCxtnbSVeEtl4gosJTy1CeTuAeVohT IooJXFI7x0MVe1VwF4QgcZaEWABL1jBXByIuGIJmw0vjeb9VrhGF3Qg9mDIvwIwjkjcO P+JDfS04gBTD8oCZIIt/wgmNDLpEFNUkfYd1mL8AIbg9Wz2EZqT5Paj6saqMHns8Djdd 08p9guEKKh+hzUYCToMHduj3bP68Ci397GV+5Dhfi8JpM4ZFISVphVCPLqPbEJ9BijEN Lc+A== X-Gm-Message-State: AOAM530oGjQwmuGa9vq4nYfedMQu6GJWQsti4XgvkRoiyytJVkw2yOoa li7jnX8StQwa73oa8H4XGDHVWBxjnQY1T8Ik1FVK9w== X-Google-Smtp-Source: ABdhPJxCm74Wk+81QvzDWnmCqr7h80vA1/4RNMQ+FLxHeyAdPylWF7wAZBMzly9tQgnWg51mTUNAzQ2JkyfolqQEXLk= X-Received: by 2002:a05:6808:10d5:: with SMTP id s21mr11795586ois.7.1627934602510; Mon, 02 Aug 2021 13:03:22 -0700 (PDT) In-Reply-To: <87k0l5j1u1.fsf@mail.linkov.net> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:211080 Archived-At: --000000000000b355b205c8990fdc Content-Type: text/plain; charset="UTF-8" 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 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. > --000000000000b355b205c8990fdc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Very much appreciated!!
<= br>
And thank you for investigating and isolating the is= sue: I had misidentified the actual problem and didn't provide a duplic= ation recipe, making your job much harder.

I promise to do better next time, and provide a test case. =C2= =A0:-)

Thanks again!!

On Su= n, Aug 1, 2021 at 1:41 AM Juri Linkov <juri@linkov.net> wrote:
tags 49761 fixed=
close 49761 28.0.50
thanks

> Well, it's now the default behavior.=C2=A0 It wasn't previousl= y.=C2=A0 :-)

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:

=C2=A0 ** file-cache-minibuffer-complete now accepts a prefix argument.
=C2=A0 With a prefix argument, it does not try to do completion of
=C2=A0 the file name within its directory; it only checks for other
=C2=A0 directories that contain the same file name.
=C2=A0 Thus, given the file name Makefile, and assuming that a file
=C2=A0 Makefile.in exists in the same directory, ordinary
=C2=A0 file-cache-minibuffer-complete will try to complete Makefile to
=C2=A0 Makefile.in and will therefore never look for other directories that=
=C2=A0 have Makefile.=C2=A0 A prefix argument tells it not to look for long= er
=C2=A0 names such as Makefile.in, so that instead it will look for other =C2=A0 directories--just as if the name were already complete in its presen= t
=C2=A0 directory.

and a comment from bindings.el:

=C2=A0 ;; The prefix argument works around a bug in the minibuffer completi= on.
=C2=A0 ;; The completion function doesn't distinguish between the state= s:
=C2=A0 ;;
=C2=A0 ;;=C2=A0 =C2=A0"Multiple completions of name" (eg, Makefil= e, Makefile.in)
=C2=A0 ;;=C2=A0 =C2=A0"Name available in multiple directories" (/= tmp/Makefile, ~me/Makefile)
=C2=A0 ;;
=C2=A0 ;; The default is to do the former; a prefix arg forces the latter.<= br>
--000000000000b355b205c8990fdc--