GNU bug report logs - #41412
27.0.90; Value of default directory in completions buffer

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: minor; Reported by: Karthik Chikmagalur <karthikchikmagalur@HIDDEN>; merged with #41424; dated Tue, 19 May 2020 23:20:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 41412 <at> debbugs.gnu.org:


Received: (at 41412) by debbugs.gnu.org; 23 Jan 2021 22:00:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 23 17:00:09 2021
Received: from localhost ([127.0.0.1]:35491 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l3Qwz-0002k4-Dg
	for submit <at> debbugs.gnu.org; Sat, 23 Jan 2021 17:00:09 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32376)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1l3Qwy-0002as-3J; Sat, 23 Jan 2021 17:00:08 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 67429441010;
 Sat, 23 Jan 2021 17:00:02 -0500 (EST)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 3CFDC441002;
 Sat, 23 Jan 2021 17:00:01 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1611439201;
 bh=3hnSgSdw95e16odUQSG1IJwFrNt0fZWfF5CGoPMKuWs=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=gQUbXBP4htzZDluoK57tu9h8N8NuVzvV3E4IEEPISLDNSuIfPkwUybG3LG4dK3QNk
 B9oIw+cTKcmLHRLlaLdwEf09GPFYD3WzGB1RtSQK3dkBgs1Yk5V+N1Oy1VDtr6WT5Z
 uWX1YURwurGZ0bi4aZFd+VXW5/jgh68jdeKGNBrQr+cnB4ppdg31XfnNtcpzI+Xg7G
 qdM02LH4cAkVDcO7L1NXHuRSagoX4KBC9wwLQ7eHbYG1N3agezqOBFVBsScbm/hA1i
 ket/prXsu3ETj1mzqCt+7+TSz1II59xLZSNsr8iV8f+t0MuJQoDmCKLqlOXrtS3ehz
 6GtlpHHp4jTLg==
Received: from alfajor (65-110-220-188.cpe.pppoe.ca [65.110.220.188])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EE0081204FE;
 Sat, 23 Jan 2021 17:00:00 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#41412: 27.0.90; Value of default directory in completions
 buffer
Message-ID: <jwvczxvpb9a.fsf-monnier+emacs@HIDDEN>
References: <87pnay7azg.fsf@penguin> <87k0s4wwbl.fsf@HIDDEN>
 <jwvr1mcsied.fsf-monnier+emacs@HIDDEN> <87a6szv6c0.fsf@HIDDEN>
Date: Sat, 23 Jan 2021 17:00:00 -0500
In-Reply-To: <87a6szv6c0.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Sat,
 23 Jan 2021 19:47:11 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.147 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41412
Cc: Omar =?windows-1252?Q?Antol=EDn?= Camarena <omar@HIDDEN>,
 41424 <at> debbugs.gnu.org, 41412 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Aha.  But then what would the correct fix now?  I haven't tried the
> proposed change (i.e., just change to `file-name-directory'), but it
> sounds logical to me.  That is, if the user has typed "~/foo/bar/zo"
> then use "~/foo/bar" as the default directory.

I think the correct thing to do is to look at the `(cdr (last completions))`
where `completions` is what `completion-all-completions` returned.
That gives what used to be called `completion-base-size`.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#41412; Package emacs. Full text available.

Message received at 41412 <at> debbugs.gnu.org:


Received: (at 41412) by debbugs.gnu.org; 23 Jan 2021 18:47:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 23 13:47:26 2021
Received: from localhost ([127.0.0.1]:35277 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l3NwU-0004DH-1E
	for submit <at> debbugs.gnu.org; Sat, 23 Jan 2021 13:47:26 -0500
Received: from quimby.gnus.org ([95.216.78.240]:55048)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>)
 id 1l3NwS-0004D1-CX; Sat, 23 Jan 2021 13:47:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=EsWGEkr0LfJCyJwjKDGUYKbqPDuQF5DLh0edUlql1Zs=; b=SE8Kfn4Xn1/G9vUB9D9xwf16RI
 XaDbnxLBGu5W0W2oXrabPvJ0eZLguaRTzl8AJ4kMtOsz6S8u5rtY3Sh6wSZfBrrQcKCFDHD+FfUxG
 H3Xmc64APgGQlJA15Qdw5m4VNKgUnkMLLNGsnAoOU+fehlHeOmaSWGc4k/zNgZMEfiJA=;
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1l3NwH-0003z3-AW; Sat, 23 Jan 2021 19:47:15 +0100
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#41412: 27.0.90; Value of default directory in completions
 buffer
References: <87pnay7azg.fsf@penguin> <87k0s4wwbl.fsf@HIDDEN>
 <jwvr1mcsied.fsf-monnier+emacs@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEX8/PylqahUT0Yx
 OjccNTmzXi3///+ih99BAAAAAWJLR0QGYWa4fQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1F
 B+UBFxIlOdKnSfYAAAF4SURBVDjLfZRtcgIhDIZXewEdPYANy//KxwFcxguAuf9VGiCBhZ02f9zJ
 45uEkLAsYlcguy6zncBZsgCXyb8GW8xtl9Fvmw1k5yfS/bewB+67BbKTSbDbDJ5/CETydQSPY0m7
 wk7hCNylRwrKqDHWvXwZTO9kGngRqP9DjO/km8ZIijdmhf9AT3LOwOmqWH1i8ODcSMAn89HYspd+
 bFhMk5DS5PKeFXhsxuBVi9IdUBLIsIMIBUQB5FYqe2hGdAXKVQBQQMygZCdHBVVBjsi/DGqoCNZQ
 caAVh8rJFUXQmBSl19SvoSqKorNCowA+YG5WIhpRDthbon05p7SkN7EWhdLEs+Wjx035tXaxtL1e
 lC8XldvOgKbBytVudIM+olxtG4YCNKY2DDw+PoMVILTx4YFzQEAZ1wdukZmh8uVz60NtgK2wn/0a
 5DEUBW/OnZOQDYsjEgoDg2DeNSeCf9Z5ObnuD+PT4HivpieDCFdqJn95lqiw/iz9AsXRwxoTRAM0
 AAAAGXRFWHRjb21tZW50AENyZWF0ZWQgd2l0aCBHSU1Q569AywAAACV0RVh0ZGF0ZTpjcmVhdGUA
 MjAyMS0wMS0yM1QxODozNzo1NyswMDowMADX2dYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEt
 MjNUMTg6Mzc6NTcrMDA6MDBximFqAAAAAElFTkSuQmCC
X-Now-Playing: Herbert's _Part Four_: "Pump"
Date: Sat, 23 Jan 2021 19:47:11 +0100
In-Reply-To: <jwvr1mcsied.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Fri, 22 Jan 2021 17:50:18 -0500")
Message-ID: <87a6szv6c0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Stefan Monnier <monnier@HIDDEN> writes: >> I think
 that sounds likely. The patch that introduced this code is >> below, and
 it indeed changes the `file-name-directory' to >> `file-name-as-directory'
 (among other things). > > But it also cha [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41412
Cc: Omar =?utf-8?Q?Antol=C3=ADn?= Camarena <omar@HIDDEN>,
 41424 <at> debbugs.gnu.org, 41412 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

>> I think that sounds likely.  The patch that introduced this code is
>> below, and it indeed changes the `file-name-directory' to
>> `file-name-as-directory' (among other things).
>
> But it also changed a fair bit around it.  And the `substring` is quite different.
> When I look at the history of this code,
> 30c7e54299fc81cd3122a17ef130ab69e9855f99 looks wrong.  In order not to
> change the behavior, I suspect it should have been:
>
>     (buffer-substring (minibuffer-prompt-end)
>                       (+ (minibuffer-prompt-end) (or completion-base-size 0))))))))
>
> and then 326fdb9ec05ab5e4aec0c7064272bb3d223e9875 looks wrong again
> since it presumes that `completion-base-size` is nil whereas it usually
> isn't/wasn't when completing files.

Aha.  But then what would the correct fix now?  I haven't tried the
proposed change (i.e., just change to `file-name-directory'), but it
sounds logical to me.  That is, if the user has typed "~/foo/bar/zo"
then use "~/foo/bar" as the default directory.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#41412; Package emacs. Full text available.

Message received at 41412 <at> debbugs.gnu.org:


Received: (at 41412) by debbugs.gnu.org; 22 Jan 2021 22:50:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 22 17:50:36 2021
Received: from localhost ([127.0.0.1]:33392 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l35GG-0003pY-85
	for submit <at> debbugs.gnu.org; Fri, 22 Jan 2021 17:50:36 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17705)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1l35GE-0003pI-69; Fri, 22 Jan 2021 17:50:35 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9449A440F18;
 Fri, 22 Jan 2021 17:50:28 -0500 (EST)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id AE582440872;
 Fri, 22 Jan 2021 17:50:19 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1611355819;
 bh=bJaW5iCmcCY/Mh2XTWTuyaYTrOxd/vAkbsOuJl9CMOI=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
 b=G5uzcsOJEfGjHgzD2jM9yl0tnzsLa1m6OT5xcLeZFEHY1VHbRS8Sfe6f4VJpqVbpz
 4CYYD0HCtM36b7566qiDxTVcg3S1bIvts1O37sbYighEFDdxye53pKdsV/ZPUjurDz
 hlYbgl5Ix8AODVkydEGVEUdiou9fB5ZQ2Blv7FCleRb0Do0vLJpEzJ1vafIqLServF
 70fNYfiAitATlUrwYwvu4Ms9JpY3cKPh+21PDH9LScIboJkiHrxIFRFv6xM4M4fAUH
 my6Uw87+qVHFD5AgOUsDLJGrCbCjNwOKgII5BP0opOoXBewbahGrnUwNgZWsOuLIAW
 84d8REpCfrqIw==
Received: from alfajor (65-110-220-188.cpe.pppoe.ca [65.110.220.188])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4440112032C;
 Fri, 22 Jan 2021 17:50:19 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#41412: 27.0.90; Value of default directory in completions
 buffer
Message-ID: <jwvr1mcsied.fsf-monnier+emacs@HIDDEN>
References: <87pnay7azg.fsf@penguin> <87k0s4wwbl.fsf@HIDDEN>
Date: Fri, 22 Jan 2021 17:50:18 -0500
In-Reply-To: <87k0s4wwbl.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Fri,
 22 Jan 2021 21:28:14 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.134 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41412
Cc: Omar =?windows-1252?Q?Antol=EDn?= Camarena <omar@HIDDEN>,
 41424 <at> debbugs.gnu.org, 41412 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> I think that sounds likely.  The patch that introduced this code is
> below, and it indeed changes the `file-name-directory' to
> `file-name-as-directory' (among other things).

But it also changed a fair bit around it.  And the `substring` is quite different.
When I look at the history of this code,
30c7e54299fc81cd3122a17ef130ab69e9855f99 looks wrong.  In order not to
change the behavior, I suspect it should have been:

    (buffer-substring (minibuffer-prompt-end)
                      (+ (minibuffer-prompt-end) (or completion-base-size 0))))))))

and then 326fdb9ec05ab5e4aec0c7064272bb3d223e9875 looks wrong again
since it presumes that `completion-base-size` is nil whereas it usually
isn't/wasn't when completing files.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#41412; Package emacs. Full text available.

Message received at 41412 <at> debbugs.gnu.org:


Received: (at 41412) by debbugs.gnu.org; 22 Jan 2021 20:28:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 22 15:28:32 2021
Received: from localhost ([127.0.0.1]:33244 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l332m-0000UL-It
	for submit <at> debbugs.gnu.org; Fri, 22 Jan 2021 15:28:32 -0500
Received: from quimby.gnus.org ([95.216.78.240]:45190)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>)
 id 1l332j-0000U3-MY; Fri, 22 Jan 2021 15:28:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=zwp7TqYg6EERKOg0cN/q3EooWCaca9ktXS8CoHYJ4Vk=; b=sVcmvXPTLa9RqtKEJNyPOzlt2P
 wLQ9G+3SQYls5U1S0nrE2U6SDB3wbwlgNJ6GQF2N//A3UTRI2PPadWPwEL/TCwRpoJKZJNykk8HLa
 ZLHbac++sXTn63wOYfb/lmSqJMiluh04fOCqm+1fs3CGBEux/0DWOIxqxienRBYZ0auI=;
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1l332V-0005Kn-Sj; Fri, 22 Jan 2021 21:28:20 +0100
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Omar =?utf-8?Q?Antol=C3=ADn?= Camarena <omar@HIDDEN>
Subject: Re: bug#41412: 27.0.90; Value of default directory in completions
 buffer
References: <87pnay7azg.fsf@penguin>
X-Now-Playing: Various's _Deathbomb Digital Singles Club Year 2_: "L.C.D."
Date: Fri, 22 Jan 2021 21:28:14 +0100
In-Reply-To: <87pnay7azg.fsf@penguin> ("Omar =?utf-8?Q?Antol=C3=ADn?=
 Camarena"'s message of "Wed, 20 May 2020 12:49:23 -0500")
Message-ID: <87k0s4wwbl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  Omar AntolĂ­n Camarena <omar@HIDDEN> writes: > There
    is a bit of logic in `complete-setup-function' (from simple.el) > to set
   the default directory in the *Completions* buffer: > > ;; FIXME: This is a
    bad hack. We try to set the default-director [...] 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41412
Cc: 41424 <at> debbugs.gnu.org, 41412 <at> debbugs.gnu.org,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Omar Antol=C3=ADn Camarena <omar@HIDDEN> writes:

> There is a bit of logic in `complete-setup-function' (from simple.el)
> to set the default directory in the *Completions* buffer:
>
> ;; FIXME: This is a bad hack.  We try to set the default-directory
> ;; in the *Completions* buffer so that the relative file names
> ;; displayed there can be treated as valid file names, independently
> ;; from the completion context.  But this suffers from many problems:
> ;; - It's not clear when the completions are file names.  With some
> ;;   completion tables (e.g. bzr revision specs), the listed
> ;;   completions can mix file names and other things.
> ;; - It doesn't pay attention to possible quoting.
> ;; - With fancy completion styles, the code below will not always
> ;;   find the right base directory.
> (if minibuffer-completing-file-name
>     (file-name-as-directory
>      (expand-file-name
>       (buffer-substring (minibuffer-prompt-end)
>                         (- (point) (or completion-base-size 0))))))
>
> As the comment says, this is brittle, but better than nothing. I
> believe, however, that the `file-name-as-directory' is a typo and
> probably `file-name-directory' was intended instead.

I think that sounds likely.  The patch that introduced this code is
below, and it indeed changes the `file-name-directory' to
`file-name-as-directory' (among other things).

I've added Stafan M to the CCs -- was this done on purpose, or should we
go back to `file-name-directory' here?

diff --git a/lisp/simple.el b/lisp/simple.el
index 082605f659..13c75c4d7b 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5851,20 +5851,22 @@ completion-root-regexp
 ;; after the text of the completion list buffer is written.
 (defun completion-setup-function ()
   (let* ((mainbuf (current-buffer))
-         (mbuf-contents (minibuffer-completion-contents))
-         common-string-length)
-    ;; When reading a file name in the minibuffer,
-    ;; set default-directory in the minibuffer
-    ;; so it will get copied into the completion list buffer.
-    (if minibuffer-completing-file-name
-	(with-current-buffer mainbuf
-	  (setq default-directory
-                (file-name-directory (expand-file-name mbuf-contents)))))
+         (base-dir
+          ;; When reading a file name in the minibuffer,
+          ;; try and find the right default-directory to set in the
+          ;; completion list buffer.
+          ;; FIXME: Why do we do that, actually?  --Stef
+          (if minibuffer-completing-file-name
+              (file-name-as-directory
+               (expand-file-name
+                (substring (minibuffer-completion-contents)
+                           0 (or completion-base-size 0)))))))
     (with-current-buffer standard-output
       (let ((base-size completion-base-size)) ;Read before killing localva=
rs.
         (completion-list-mode)
         (set (make-local-variable 'completion-base-size) base-size))
       (set (make-local-variable 'completion-reference-buffer) mainbuf)
+      (if base-dir (setq default-directory base-dir))
       (unless completion-base-size
         ;; This shouldn't be needed any more, but further analysis is need=
ed
         ;; to make sure it's the case.


--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#41412; Package emacs. Full text available.
Merged 41412 41424. Request was from Glenn Morris <rgm@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 19 May 2020 23:19:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 19 19:19:27 2020
Received: from localhost ([127.0.0.1]:51529 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jbBW9-0005Dx-Q3
	for submit <at> debbugs.gnu.org; Tue, 19 May 2020 19:19:27 -0400
Received: from lists.gnu.org ([209.51.188.17]:54954)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <karthikchikmagalur@HIDDEN>) id 1jbBJj-0004tl-7C
 for submit <at> debbugs.gnu.org; Tue, 19 May 2020 19:06:35 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:49864)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <karthikchikmagalur@HIDDEN>)
 id 1jbBJj-0008NM-2b
 for bug-gnu-emacs@HIDDEN; Tue, 19 May 2020 19:06:35 -0400
Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]:53281)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <karthikchikmagalur@HIDDEN>)
 id 1jbBJi-0002V4-0m
 for bug-gnu-emacs@HIDDEN; Tue, 19 May 2020 19:06:34 -0400
Received: by mail-pj1-x1030.google.com with SMTP id ci21so367596pjb.3
 for <bug-gnu-emacs@HIDDEN>; Tue, 19 May 2020 16:06:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=bnQabNhbL7+ILkArcfWiRDs9P7hUeDxzIXzQL+GCqms=;
 b=WmWLlp6ZAYE47ahZJ1wFJjqd7fjl9opgw55hWFGfHyfNHyutsNj+pt/00ZG0B3fAy8
 ZvugdFFlOu4VNMVdXZQ7cxI6p7khP+rivlpJxd7Ux/3IzkGzpk5iTQIOa93RqTPTrI3L
 xnm0gZDLQ1X30etmTPsz27JLNkTKSN1doysiI0S+tANu7K+GmfwOKDQK0Qb/8Kv+m6AU
 wDWVjZD40R3zjgFStuUZaUCY3b4N4hAsuwXbld4hoL1fz7aiT7i9RiTzkUPlSZ/PkPvE
 ZQAv9pU4ae3QDaDr4qQ7L6vrBHjOzAtqHaCXS+OfUSdMKV4z5Pkx/62UqszdNg3z0mn6
 1fFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=bnQabNhbL7+ILkArcfWiRDs9P7hUeDxzIXzQL+GCqms=;
 b=h8BnEcP2J6SgEoo3iXF+kp0ttbEyTTKlCHsyAc5+OCYBugL+VUPADm50vpdfPssV2t
 z9BTXJYRyXCnVF8KNGRvMGge9SwtrvSEqc6MBpShXMRNGVw+z0sWSye9M+V+/Rbfj+2Z
 U4t2aTeI0C2OkLunsNui/DL+CGZlz7iLP3Qlt265ZryqUUprQME1AMMlEkt4CtTft9nI
 qK0YyJZD8Jh6DSKc5h9IpHUstMtckvnQdwKvxbMMMvuIBIzCqIyoDM7FsEWUzsaJZlpQ
 IZzlyvchK8Wkh7ZUPZAAUVmpIhPtJU4gUS1fhFIrYI2Ku2wS0v6ul/EnbsNPW5jbIDEI
 poCQ==
X-Gm-Message-State: AOAM530XKwJFXRAyJvSBdsKcRMjwoK7wxC8uvo2gXYMDB8AJuV8KLtOG
 lWd6CyTDDmD3apajhNY8ejkA7RUX
X-Google-Smtp-Source: ABdhPJxxioi4bfEGxOVgBDp5IDyLI6SIvEC/ozbjwW4weHPvlHcuHAAPZEowt1QbpYe5cRffnaG8oA==
X-Received: by 2002:a17:902:8546:: with SMTP id
 d6mr1590096plo.164.1589929591583; 
 Tue, 19 May 2020 16:06:31 -0700 (PDT)
Received: from localhost (ip98-171-160-254.sb.sd.cox.net. [98.171.160.254])
 by smtp.gmail.com with ESMTPSA id f6sm437933pfn.189.2020.05.19.16.06.30
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 19 May 2020 16:06:30 -0700 (PDT)
From: Karthik Chikmagalur <karthikchikmagalur@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 27.0.90; Value of default directory in completions buffer
Date: Tue, 19 May 2020 16:06:25 -0700
Message-ID: <86r1vffrta.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=2607:f8b0:4864:20::1030;
 envelope-from=karthikchikmagalur@HIDDEN; helo=mail-pj1-x1030.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001,
 URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN
X-Spam_action: no action
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 19 May 2020 19:19:25 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)


The value of `default-directory' in the completions buffer is wrong when
there is a partial completion inserted in the minibuffer.

Steps to reproduce:

1. Start `emacs -Q'
2. C-x C-f to start finding a file
3. Enter a string (at least one character) and hit tab to pop up the
completions buffer. Let's say this string was "test"
4. The completions buffer will have completions starting with
"test". (We need at least one candidate).
5. C-h v default-directory
6. The value of `default-directory' in the completions buffer is set to
"~/test/", or the current directory + whatever string the user entered
into the minibuffer.


In GNU Emacs 27.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.13, c=
airo version 1.17.3)
 of 2020-03-31 built on thinkpad
Repository revision: ac3da1dd9626bc475e78b18c0b438435790e8926
Repository branch: makepkg
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Manjaro Linux

Recent messages:
Making completion list...
Quit [2 times]
Making completion list... [2 times]

Quit
You can run the command =E2=80=98load-theme=E2=80=99 with M-x lo-t RET
Use +,-,0 for further adjustment [2 times]
Making completion list...
Type "q" in help window to delete it.
Quit [3 times]
Quit
Configured using:
 'configure --prefix=3D/usr --sysconfdir=3D/etc --libexecdir=3D/usr/lib
 --localstatedir=3D/var --mandir=3D/usr/share/man --with-gameuser=3D:games
 --with-sound=3Dalsa --with-modules --without-gconf --without-gsettings
 --with-x-toolkit=3Dgtk3 --without-xaw3d --without-m17n-flt --with-cairo
 --without-compress-install 'CFLAGS=3D-march=3Dx86-64 -mtune=3Dgeneric -O2
 -pipe -fstack-protector-strong -fno-plt -g -flto -g -flto -s
 -fuse-ld=3Dgold' CPPFLAGS=3D-D_FORTIFY_SOURCE=3D2
 LDFLAGS=3D-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

Important settings:
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils face-remap
dichromacy-theme time-date misearch multi-isearch vc-git diff-mode
easy-mmode cl-extra seq byte-opt gv bytecomp byte-compile cconv pp
cl-print mode-local find-func thingatpt help-fns radix-tree help-mode
easymenu shell pcomplete comint ansi-color ring dabbrev embark edmacro
kmacro cl-loaddefs cl-lib pcase subr-x tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 68828 9827)
 (symbols 48 7742 1)
 (strings 32 23173 2123)
 (string-bytes 1 702281)
 (vectors 16 12996)
 (vector-slots 8 159649 11786)
 (floats 8 46 26)
 (intervals 56 330 0)
 (buffers 1000 17))




Acknowledgement sent to Karthik Chikmagalur <karthikchikmagalur@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#41412; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 23 Jan 2021 22:15:02 UTC

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