From unknown Fri Jun 20 07:16:47 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#21931 <21931@debbugs.gnu.org> To: bug#21931 <21931@debbugs.gnu.org> Subject: Status: 25.0.50; behaviour of read-directory-name with double slashes Reply-To: bug#21931 <21931@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:16:47 +0000 retitle 21931 25.0.50; behaviour of read-directory-name with double slashes reassign 21931 emacs submitter 21931 Nicolas Richard severity 21931 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 01:28:23 2015 Received: (at submit) by debbugs.gnu.org; 16 Nov 2015 06:28:23 +0000 Received: from localhost ([127.0.0.1]:39429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyDH4-0001h1-FC for submit@debbugs.gnu.org; Mon, 16 Nov 2015 01:28:22 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59340) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyDH1-0001gs-6Q for submit@debbugs.gnu.org; Mon, 16 Nov 2015 01:28:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyDGz-0002fG-Qk for submit@debbugs.gnu.org; Mon, 16 Nov 2015 01:28:18 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:59876) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyDGz-0002fC-Nu for submit@debbugs.gnu.org; Mon, 16 Nov 2015 01:28:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41110) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyDGy-0007W4-NK for bug-gnu-emacs@gnu.org; Mon, 16 Nov 2015 01:28:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyDGv-0002Yt-H5 for bug-gnu-emacs@gnu.org; Mon, 16 Nov 2015 01:28:16 -0500 Received: from mxin.ulb.ac.be ([164.15.128.112]:43393) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyDGv-0002Yp-Bu for bug-gnu-emacs@gnu.org; Mon, 16 Nov 2015 01:28:13 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhAIABF3SVakD4XH/2dsb2JhbABehA5vqzECARUBAQEBAQEGBYEIk18Zh3MBAQEBAQGBC0ESAYR4JDQBBIkKmTugGIYNimyEEgWNG4htQI8ChzIzkwVjgUoMAYIuPTSDR4IEAQEB Received: from pno-math-199.ulb.ac.be (HELO Aurora) ([164.15.133.199]) by smtp.ulb.ac.be with ESMTP; 16 Nov 2015 07:27:58 +0100 From: Nicolas Richard To: bug-gnu-emacs@gnu.org Subject: 25.0.50; behaviour of read-directory-name with double slashes User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) Date: Mon, 16 Nov 2015 07:27:51 +0100 Message-ID: <86bnaue9w8.fsf@members.fsf.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) After I eval: (let ((default-directory "/tmp")) (list (read-directory-name "foo" "/tmp/src/") (read-directory-name "foo" "/tmp/src//") (read-directory-name "foo" "src/") (read-directory-name "foo" "src//") (read-directory-name "foo" "foo//src/") (read-directory-name "foo" "foo//src//"))) and hit RET RET RET RET, I get : ("/tmp/src/" "/" "src/" "/" "/src/" "/") Is this intended ? We could normalize the directory name via expand-file-name in all cases, e.g. : modified lisp/files.el @@ -648,8 +648,7 @@ read-directory-name (unless dir (setq dir default-directory)) (read-file-name prompt dir (or default-dirname - (if initial (expand-file-name initial dir) - dir)) + (expand-file-name (or initial "") dir)) mustmatch initial 'file-directory-p)) but the docstring states "Value is not expanded---you must call `expand-file-name' yourself." so I guess the behaviour is important (and I guess e.g. for tramp). Should read-file-name be fixed or should the callers make sure to not use double slashes ? In GNU Emacs 25.0.50.1 (i686-pc-linux-gnu, X toolkit, Xaw scroll bars) of 2015-11-14 Repository revision: ed2e7e20ae0945288c98091f308f5460c3453873 Windowing system distributor 'The X.Org Foundation', version 11.0.11501000 System Description: Ubuntu 14.04.3 LTS From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 20 14:21:18 2015 Received: (at 21931) by debbugs.gnu.org; 20 Nov 2015 19:21:18 +0000 Received: from localhost ([127.0.0.1]:46415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZzrFF-0001df-Uk for submit@debbugs.gnu.org; Fri, 20 Nov 2015 14:21:18 -0500 Received: from mail-pa0-f42.google.com ([209.85.220.42]:33140) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZzrFD-0001dL-OW for 21931@debbugs.gnu.org; Fri, 20 Nov 2015 14:21:16 -0500 Received: by pabfh17 with SMTP id fh17so128684902pab.0 for <21931@debbugs.gnu.org>; Fri, 20 Nov 2015 11:21:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:in-reply-to:date:message-id:references :user-agent:mime-version:content-type; bh=TOZwZEoHkmmJj7jlS+t1pq47knAYwbtJp2T7kUfsZfQ=; b=uddfahAxewXwAwpH5WMQM8jaowWQbHYrKOLBkXQbZWy3YKoq/5mNOSgPek9HTMzHhT UhgvML4hmbBvs5VB8O/X6BY/r5OLlfl9vhwsIOHDPt/48ZDFNsbx/FtXA97icAm2Lxl0 dEamSFyFYx1CRTkiB1FQMGfGVeKHxhFA39wb7BGCck/OvbZxQeda7Hpu8spie1XdM2Yc IElt2WPt6J5vrGtRHaHmNw04YZ8rifVLhb/1JFfzYorR0pZO2MKYoOR8GHLcokZDaA2t wgrhTM5Ybi7lRF4xRMFPmpDyF/rpInkpnQwwks3f/vm0FnG4bjVR71GCwHNfiFUEo/qG e3ew== X-Received: by 10.66.249.37 with SMTP id yr5mr21462538pac.24.1448047274926; Fri, 20 Nov 2015 11:21:14 -0800 (PST) Received: from Vulcan.local (76-234-68-79.lightspeed.frokca.sbcglobal.net. [76.234.68.79]) by smtp.gmail.com with ESMTPSA id c20sm285750pfd.17.2015.11.20.11.21.14 (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 20 Nov 2015 11:21:14 -0800 (PST) From: John Wiegley X-Google-Original-From: "John Wiegley" Received: by Vulcan.local (Postfix, from userid 501) id 593DF10A5A100; Fri, 20 Nov 2015 11:21:13 -0800 (PST) To: Nicolas Richard Subject: Re: bug#21931: 25.0.50; behaviour of read-directory-name with double slashes In-Reply-To: <86bnaue9w8.fsf@members.fsf.org> (Nicolas Richard's message of "Mon, 16 Nov 2015 07:27:51 +0100") Date: Fri, 20 Nov 2015 11:19:27 -0800 Message-ID: References: <86bnaue9w8.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21931 Cc: 21931@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -0.7 (/) >>>>> Nicolas Richard writes: > ("/tmp/src/" "/" "src/" "/" "/src/" "/") > Is this intended ? What list were you expecting to see? "//" has always meant "start at root" to mean, ignoring whatever comes prior. This is how C-x C-f works, and it means you don't have to delete any existing default text in order to begin at root. John From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 23 09:15:13 2015 Received: (at 21931-done) by debbugs.gnu.org; 23 Nov 2015 14:15:13 +0000 Received: from localhost ([127.0.0.1]:49153 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0rtg-0007Vk-M9 for submit@debbugs.gnu.org; Mon, 23 Nov 2015 09:15:12 -0500 Received: from mailrelay111.isp.belgacom.be ([195.238.20.138]:13175) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0rte-0007Vb-Dd for 21931-done@debbugs.gnu.org; Mon, 23 Nov 2015 09:15:11 -0500 X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BhGAA0H1NW/2LHsltegzuBQqwGBAYFAYENk26GDwKBPzwRAQEBAQEBAYEKhDUBAQRWIxAIAw4TJQ8BKR4GE4gyAb4bAQEBAQEFAgEghg2FRYk5BY0eiTKIFoZ2h2WTCzcsghEdgVc9NIUrAQEB Received: from 98.199-178-91.adsl-dyn.isp.belgacom.be (HELO Aurora) ([91.178.199.98]) by relay.skynet.be with ESMTP; 23 Nov 2015 15:14:59 +0100 References: <86bnaue9w8.fsf@members.fsf.org> User-agent: mu4e 0.9.15; emacs 25.1.50.2 From: Nicolas Richard To: John Wiegley Subject: Re: bug#21931: 25.0.50; behaviour of read-directory-name with double slashes In-reply-to: Date: Mon, 23 Nov 2015 15:14:59 +0100 Message-ID: <86ziy4vm3g.fsf@members.fsf.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21931-done Cc: 21931-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -0.7 (/) John Wiegley writes: >>>>>> Nicolas Richard writes: > >> ("/tmp/src/" "/" "src/" "/" "/src/" "/") >> Is this intended ? > > What list were you expecting to see? "//" has always meant "start at root" to > mean, ignoring whatever comes prior. This is how C-x C-f works, and it means > you don't have to delete any existing default text in order to begin at root. Indeed, but when constructing a path via (concat foo "/" bar), it can happen that the result contains //. If this is then used as arg to read-directory-name, this leads to an unexpected default. OTOH (info "(elisp) Directory Names") explicitly says that using concat for constructing paths in this way is wrong, so I guess that this bug report is void. Thanks for looking into it, I close it. Nico. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 23 15:58:36 2015 Received: (at 21931) by debbugs.gnu.org; 23 Nov 2015 20:58:36 +0000 Received: from localhost ([127.0.0.1]:49938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0yC3-0000rF-Tn for submit@debbugs.gnu.org; Mon, 23 Nov 2015 15:58:36 -0500 Received: from mout.gmx.net ([212.227.15.15]:62124) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0yC1-0000r3-V0 for 21931@debbugs.gnu.org; Mon, 23 Nov 2015 15:58:34 -0500 Received: from detlef.gmx.de ([93.209.95.113]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MbPLI-1ZkOi92d76-00Ilkl; Mon, 23 Nov 2015 21:58:29 +0100 From: Michael Albinus To: 21931@debbugs.gnu.org Subject: Re: bug#21931: 25.0.50; behaviour of read-directory-name with double slashes References: <86bnaue9w8.fsf@members.fsf.org> <86ziy4vm3g.fsf@members.fsf.org> Date: Mon, 23 Nov 2015 21:58:28 +0100 In-Reply-To: <86ziy4vm3g.fsf@members.fsf.org> (Nicolas Richard's message of "Mon, 23 Nov 2015 15:14:59 +0100") Message-ID: <87y4doph57.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:UprSDweLYgpH4qm1mbsb2SALlW3q1GsYTZE3m/UKpIqKCZtTAE/ XMbc7UQXQHz4pcCJdDGN7hMILvolwPhQ5W3WkAaJM5nGHpKsdpIGnSRqfbuJmoQDdjsD2Jj bVRMCZpEIOn3sffvVXUXlR3yDKql3guKEzSAcYQzqUP8oh0C0QmMfvD1i4KUPMpHnQrQyIM PE++eWVW/BRjhTngPdBJA== X-UI-Out-Filterresults: notjunk:1;V01:K0:aZz8CklFSl4=:+v8ezzgwjcE6hepAXfxelS v9HePCqWYS3yKaM6j3QRau1QetoINXNjuYRsk3HIua7NgDBEhdGmEmsrzecDn693salzDWCW5 gi34fuKuf7yHumtk9MWF8f5t2SJIChCG6qe5G09SDGrIvBUHr9f4U7DumQtr0Zk3yTSgEljY5 LhfX6XPf0UwkDBcYKbuWZPpMYLlRVMOXQ+dkG9duRk45SEiemaJbvVrUI/XWeelQRp1mpgD41 p2iD/15XxKZiZXv1IhPH2O+7AJS8bco5WdjwmwnVBiuGEsvpDE4txP3cTVoQH1XFUiHoa0vih Iw8tYykEYJOpkcUkipG3GAMHouV267vc/8ZSGvkMU9t2ELiz0N29T05GsOrUfjAwWXYvkm6iD gxbkukg/5c/0HgqOnOmSeR3+BuLvBYKqEQd5+dMCOgzJJSAZQC88XmgqL4XEypAkankqgoTv3 bPOj4UWVsMabvUmqF/xNj6t69DV3js5oOTAKvS6j3Bheo6jEK4hUWOHqOkY5CKkr/Wpl6uOA8 284uHTh56XzTa6ntmS/28Pmhj5mLCG5DhaK9x5gTTcWdLkqVU9hFbDaoo7vSfLlxcVADoL5pY sqSTVvqE5pQLmACxCOyqtoB9WBowedWiNmMYxATxS/iefybDvxyynNG0+oMz1NnZInt7jKTA+ gQoxYkehRuMeRoh5qSKoa83k+CB02Lju4jCCTI+AXS8JV8x6fTDzX8/Ih5p4Sr9ZBQpY4X1JZ 2OGROPidmiih1MIC8h492wxz+vB8e1dWNkZcYXKQZWdIUKCv/MGUI09V8heb1YvQB74Illyo/ 1T3Ysl+ X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21931 Cc: youngfrog@members.fsf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -0.7 (/) Nicolas Richard writes: >> What list were you expecting to see? "//" has always meant "start at root" to >> mean, ignoring whatever comes prior. This is how C-x C-f works, and it means >> you don't have to delete any existing default text in order to begin at root. > > Indeed, but when constructing a path via (concat foo "/" bar), it can > happen that the result contains //. If this is then used as arg to > read-directory-name, this leads to an unexpected default. (expand-file-name bar foo) is your choice. If you dislike it, take (concat (directory-file-name foo) "/" bar) > Thanks for looking into it, I close it. > > Nico. Best regards, Michael. From unknown Fri Jun 20 07:16:47 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 22 Dec 2015 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator