From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 22 Dec 2022 20:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 60264@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167174268722122 (code B ref -1); Thu, 22 Dec 2022 20:59:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Dec 2022 20:58:07 +0000 Received: from localhost ([127.0.0.1]:36312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8Sdi-0005kk-MI for submit@debbugs.gnu.org; Thu, 22 Dec 2022 15:58:06 -0500 Received: from lists.gnu.org ([209.51.188.17]:51560) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8Sdh-0005ke-1U for submit@debbugs.gnu.org; Thu, 22 Dec 2022 15:58:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8Sdg-0002h4-9P for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2022 15:58:04 -0500 Received: from server.qxqx.de ([2a01:4f8:121:346::180] helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8Sde-00061o-Dx for bug-gnu-emacs@gnu.org; Thu, 22 Dec 2022 15:58:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From :Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=wAOAAoKwaCYBpMlcEpJ8wtez4S4d857MFnokazgcxEo=; b=gsaXm67C8hwfvjpnQxqfSUkH3F H+GdDCanKT5tCFyrzR5tQu5Mv0SxV+oUST6HjD9ciAWo1qkN6eoWeM2kLbSqJ5au4GaNmTwrIFj5+ sMCR4tGdck2iXco1YMtYaqdWR7ifWa2r6XzDGx0uVY+8tiVccbKz7e7L5HETgTLqGpEo=; From: Daniel Mendler Date: Thu, 22 Dec 2022 21:57:39 +0100 Message-ID: <87ili3xikc.fsf@daniel-mendler.de> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) 1. Start emacs -Q 2. C-x C-f 3. Delete the entire minibuffer input 4. Enter /etc//s 5. Press ? You will see candidates like etc//sbin/. The candidates can get even stranger. If you enter /etc//etc//etc/s then you will get candidates like etc//etc//etc//sbin/. I can reproduce this bug on 27 and 29. I haven't tried 28, but the issue should exist there too. In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) of 2022-12-11 built on projects Repository revision: f221105723dc8d3ee9f3c8d1c2717058afbc6666 Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12004000 System Description: Debian GNU/Linux 10 (buster) From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Dec 2022 07:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Daniel Mendler , Stefan Monnier Cc: 60264@debbugs.gnu.org Received: via spool by 60264-submit@debbugs.gnu.org id=B60264.167177965015149 (code B ref 60264); Fri, 23 Dec 2022 07:15:02 +0000 Received: (at 60264) by debbugs.gnu.org; 23 Dec 2022 07:14:10 +0000 Received: from localhost ([127.0.0.1]:36742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8cFt-0003wH-QQ for submit@debbugs.gnu.org; Fri, 23 Dec 2022 02:14:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8cFr-0003w0-6T for 60264@debbugs.gnu.org; Fri, 23 Dec 2022 02:14:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8cFk-0002JL-AO; Fri, 23 Dec 2022 02:14:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=zrKYnfK1hBCdE//scbavhHG15UZ9LtMSzisC5+/02h8=; b=BI1Q6z4KUYnG f0W9eBe7J9YgD4q5AMWSnWlbI0lRyFGuZbbF+iZ7fD/j8+tj7nMMOYaH/fHpUENIz/dyNXtdDLQ+v K7Ju+MlNVoc7P/f98VHgP/4NWcUCLxOQWOQJNocSxLKp0B/zjKs1+mzz0E9xsK1K4h4Da/5nBL3Lx ngBZv/echyi2Oz7Db/Eve2pgxKmk3v2WFJ7uJXRmEMrCOjZK4v78MjVbaTJw4RhkfnSv1+s+t+OU7 /eyijM3V6W1TzQ9JB1m5l5+bjcRx24vsjhSyLq+XGwezGkrWYfSASaWKvAqaXGKbvSEdPOidIxz9J x+24N93bp81kRdkC+evXdw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8cFj-00006y-GS; Fri, 23 Dec 2022 02:13:59 -0500 Date: Fri, 23 Dec 2022 09:13:46 +0200 Message-Id: <83h6xm8udx.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87ili3xikc.fsf@daniel-mendler.de> (message from Daniel Mendler on Thu, 22 Dec 2022 21:57:39 +0100) References: <87ili3xikc.fsf@daniel-mendler.de> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Mendler > Date: Thu, 22 Dec 2022 21:57:39 +0100 > > 1. Start emacs -Q > 2. C-x C-f > 3. Delete the entire minibuffer input > 4. Enter /etc//s > 5. Press ? > > You will see candidates like etc//sbin/. The candidates can get even > stranger. If you enter /etc//etc//etc/s then you will get candidates > like etc//etc//etc//sbin/. I can reproduce this bug on 27 and 29. I > haven't tried 28, but the issue should exist there too. I don't think it's a bug (look at what the minibuffer shows in those cases), perhaps just a minor aesthetic thing, but I'm adding Stefan in case he has comments. From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Dec 2022 08:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii , Stefan Monnier Cc: 60264@debbugs.gnu.org Received: via spool by 60264-submit@debbugs.gnu.org id=B60264.167178255517068 (code B ref 60264); Fri, 23 Dec 2022 08:03:02 +0000 Received: (at 60264) by debbugs.gnu.org; 23 Dec 2022 08:02:35 +0000 Received: from localhost ([127.0.0.1]:36802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8d0k-0004RE-OB for submit@debbugs.gnu.org; Fri, 23 Dec 2022 03:02:35 -0500 Received: from server.qxqx.de ([178.63.65.180]:52105 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8d0j-0004R4-Dv for 60264@debbugs.gnu.org; Fri, 23 Dec 2022 03:02:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID: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=SdKiXCkf2occm7p5No7EjHVa+IDtDvfiAme/fbTZpFo=; b=FUhCHzuqLQaIe/15xX0RtmHqVD Z96JO1kd0iIUjrnlL8Jf8ga428rqanLdsFHIto7IJvg03+438A+RpGqZZVRn1SAhKfDD6Aa6TsfjH SElmtrtYtAbHKcjgN6vqbCQV0i/2LUuIOAiDRgculLlfOMm0SNZKifuJdbH4FmuE/x58=; Message-ID: Date: Fri, 23 Dec 2022 09:02:25 +0100 MIME-Version: 1.0 References: <87ili3xikc.fsf@daniel-mendler.de> <83h6xm8udx.fsf@gnu.org> Content-Language: en-US From: Daniel Mendler In-Reply-To: <83h6xm8udx.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On 12/23/22 08:13, Eli Zaretskii wrote: >> From: Daniel Mendler >> Date: Thu, 22 Dec 2022 21:57:39 +0100 >> >> 1. Start emacs -Q >> 2. C-x C-f >> 3. Delete the entire minibuffer input >> 4. Enter /etc//s >> 5. Press ? >> >> You will see candidates like etc//sbin/. The candidates can get even >> stranger. If you enter /etc//etc//etc/s then you will get candidates >> like etc//etc//etc//sbin/. I can reproduce this bug on 27 and 29. I >> haven't tried 28, but the issue should exist there too. > > I don't think it's a bug (look at what the minibuffer shows in those > cases), perhaps just a minor aesthetic thing, but I'm adding Stefan in > case he has comments. I argue that this is a bug since the etc// and etc//etc//etc strings belong to the base prefix of file path completions. The base string is basically the context of completion but should not be replicated in the candidates itself. This concept of a completion base string (or completion boundaries) is of course especially relevant for file completion where the current directory corresponds to the base. The candidates itself don't carry their path with them. Note that the content of the minibuffer is valid. The prefixes are correctly grayed out. These grayed out paths are called shadowed paths since they allow the user to easily switch directories. I have not mentioned this in my report, but you should see the gray out when you reproduce this. The bug is that file substitution is not applied correctly at some place within the internal file completion tables. This points to a bigger internal correctness issue. See the function `substitute-in-file-name`, which would get rid of the grayed out paths. Daniel From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Dec 2022 14:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: Daniel Mendler , 60264@debbugs.gnu.org Received: via spool by 60264-submit@debbugs.gnu.org id=B60264.167180453019345 (code B ref 60264); Fri, 23 Dec 2022 14:09:02 +0000 Received: (at 60264) by debbugs.gnu.org; 23 Dec 2022 14:08:50 +0000 Received: from localhost ([127.0.0.1]:37140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8ijC-00051x-94 for submit@debbugs.gnu.org; Fri, 23 Dec 2022 09:08:50 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:57879) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8ij8-00051e-UB for 60264@debbugs.gnu.org; Fri, 23 Dec 2022 09:08:47 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id F4157805D6; Fri, 23 Dec 2022 09:08:40 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4F1A58067F; Fri, 23 Dec 2022 09:08:39 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1671804519; bh=OtEPIz+M2F0CRbLK9G5JuiBmBYVXZgAT9TIyGH9rVBw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CPrqDgnP7EOrITVmOvsjDNjwi2e1zuqJviwe8RpDks7JQbij74Qydpzpd44Tm7OZX MedGMg39uOtx67q/YykwmyjQ0bFYfiHrxigJZNT3cOgAO896Mkg8iDAMFXyUlOT4aF opOdJyjOGS3G6Dc6MmU6j7lTisig06MYR/TJP1K1DcaQYINsKBeObd9TcQrwtb8D2V ryRnUrMvHbcodMK1Rxb5T5p6iAYgDbqysc2pZGN8IUQQFj4W4KgmHf3LahThTIbPLp cVGfZeZbUoSfEh2FTfmhbWlXogJu6mp2Q801lkx8cxjT6eXs1ccjeG7mnm+g4iKz+i H3iuIX5NertnQ== Received: from pastel (unknown [45.72.200.228]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 213F51201BF; Fri, 23 Dec 2022 09:08:39 -0500 (EST) From: Stefan Monnier In-Reply-To: <83h6xm8udx.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 23 Dec 2022 09:13:46 +0200") Message-ID: References: <87ili3xikc.fsf@daniel-mendler.de> <83h6xm8udx.fsf@gnu.org> Date: Fri, 23 Dec 2022 09:08:37 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) 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.328 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> 1. Start emacs -Q >> 2. C-x C-f >> 3. Delete the entire minibuffer input >> 4. Enter /etc//s >> 5. Press ? >> >> You will see candidates like etc//sbin/. The candidates can get even >> stranger. If you enter /etc//etc//etc/s then you will get candidates >> like etc//etc//etc//sbin/. I can reproduce this bug on 27 and 29. I >> haven't tried 28, but the issue should exist there too. > > I don't think it's a bug (look at what the minibuffer shows in those > cases), perhaps just a minor aesthetic thing, but I'm adding Stefan in > case he has comments. He's right, that's a bug. *Completions* normally only shows the list of matching files in the final directory, so complete filenames. It's even more true here where the "excess" is not even really part of the file name since it'll be stripped away by `substitute-in-file-name`. E.g. if you replace "/etc//s" with "~//s" in the example, we show the correct list. Stefan From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Dec 2022 17:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Daniel Mendler , Eli Zaretskii , 60264@debbugs.gnu.org Received: via spool by 60264-submit@debbugs.gnu.org id=B60264.167181709329756 (code B ref 60264); Fri, 23 Dec 2022 17:39:01 +0000 Received: (at 60264) by debbugs.gnu.org; 23 Dec 2022 17:38:13 +0000 Received: from localhost ([127.0.0.1]:37946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8lzo-0007js-TU for submit@debbugs.gnu.org; Fri, 23 Dec 2022 12:38:13 -0500 Received: from heytings.org ([95.142.160.155]:42514) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8lzm-0007jm-Ju for 60264@debbugs.gnu.org; Fri, 23 Dec 2022 12:38:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1671817089; bh=p/Lr1v4WTBOpJ6ll4puI2GrZ93cPyvgS/M9jBU2QlIY=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=PKZIUi/OLDRFe9Iz+dzYR+0jqjN8GjCq/JEbCpHZ7biZCsDPmLOpSJ7ps3aH1TA8+ vchlIxUN/t2K7TsLz62Gj71Dffeo4WZVkvj3mK7IQA6EkgwdmRALtq6Jn53ht07bGZ 1ihDZ8sWnrRCH8NyzmFQhaHBNESyWgJhrCiveQdd72JX9L7H7tf6fBnQWJVm4KkkQO ZFh0gAmzTc9AowGM+beL5T6bebPImikDBEeigYsYubqxg3OMu9ZSx+JfJBRZ4UZKb+ uVCK7zMtaxAxiPxErBEn77iOYntp/fgjRBditJErny59C3p/ZfTahJzvwPRzz6+uje 7a1HdwGo2yjCw== Date: Fri, 23 Dec 2022 17:38:08 +0000 From: Gregory Heytings In-Reply-To: Message-ID: References: <87ili3xikc.fsf@daniel-mendler.de> <83h6xm8udx.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> 1. Start emacs -Q >>> 2. C-x C-f >>> 3. Delete the entire minibuffer input >>> 4. Enter /etc//s >>> 5. Press ? >>> >>> You will see candidates like etc//sbin/. The candidates can get even >>> stranger. If you enter /etc//etc//etc/s then you will get candidates >>> like etc//etc//etc//sbin/. I can reproduce this bug on 27 and 29. I >>> haven't tried 28, but the issue should exist there too. >> >> I don't think it's a bug (look at what the minibuffer shows in those >> cases), perhaps just a minor aesthetic thing, but I'm adding Stefan in >> case he has comments. > > He's right, that's a bug. *Completions* normally only shows the list of > matching files in the final directory, so complete filenames. It's even > more true here where the "excess" is not even really part of the file > name since it'll be stripped away by `substitute-in-file-name`. > > E.g. if you replace "/etc//s" with "~//s" in the example, we show the > correct list. > It's a bug indeed, but a very old one, it's also present in Emacs 24-25-26-27-28. From unknown Sun Jun 15 08:42:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60264: 29.0.60; Strange file completion candidates for shadowed file paths Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 27 Dec 2022 00:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60264 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Daniel Mendler , Eli Zaretskii , 60264@debbugs.gnu.org Received: via spool by 60264-submit@debbugs.gnu.org id=B60264.167210018026936 (code B ref 60264); Tue, 27 Dec 2022 00:17:01 +0000 Received: (at 60264) by debbugs.gnu.org; 27 Dec 2022 00:16:20 +0000 Received: from localhost ([127.0.0.1]:54367 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9xdk-00070O-0X for submit@debbugs.gnu.org; Mon, 26 Dec 2022 19:16:20 -0500 Received: from heytings.org ([95.142.160.155]:46792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9xdf-00070C-Lo for 60264@debbugs.gnu.org; Mon, 26 Dec 2022 19:16:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1672100174; bh=T9uVROM78u1uek8bV8JSu80UwtNviZJoi3tEH+Dod4M=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=RVgtTlcvfdw46q5c+4qEhmZponicaK4dOjRJmFNVDJzPC/yXCZLseOJIJu32hxC/A xxWG5sr5u1l0wJPEIInWDVRE2oZKpoGInPT1VUW/tWcDYWw8hSEM5tu2FPALowgm9p 64lAjyOaRi7wUheFsEMBHJt3bdFbiD5D39BDZGRTx1MkOcpW5VJF4jrKooY27V0rrj 1DEDE2FE6yOGYj8LPHau4tY/tch4jqF34emKtEGxc6zlMdEte/gK2IOXUy2kb1OIf+ XRTivFrlVbNCt6SE1YYqksZkfOaZYIaVybAz6kDnWfLtJAKPf6WhZ1/KddrGAbFf5w IXnW0STTc2A+g== Date: Tue, 27 Dec 2022 00:16:13 +0000 From: Gregory Heytings In-Reply-To: Message-ID: <314db4a90e6f7bf32684@heytings.org> References: <87ili3xikc.fsf@daniel-mendler.de> <83h6xm8udx.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This bug was an opportunity to take another journey in the completion routines. Call me a masochist. The bug here (with the "C-x C-f //etc//s TAB" recipe) is that, in completion--twq-all, qboundary is set to 1 instead of 7, because (completion--sifn-requote 1 "//etc//s") returns 1 although (completion--sifn-requote 1 "~/etc//s") returns 7, because (string-prefix-p "/" (substitute-in-file-name "~/")) is nil although (string-prefix-p "/" (substitute-in-file-name "//")) is t. And now I'm lost, because I don't see any safe way to correct that bug. completion--sifn-requote seems to work "as designed", and introducing a specific treatment for this case would break the "treat substitute-in-file-name as a black box as much as possible" rule. Perhaps the fix should go into completion--twq-all instead, but again I don't see how to do that in a safe way. Stefan, do you see anything in your legendary crystal ball?