From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#36490: 26.1; directory-files-recursively breaks when it encounters a directory named "~" Date: Tue, 09 Jul 2019 19:00:13 +0200 Message-ID: References: <87muhvyotd.fsf@gmx.de> <87zhlo1bfl.fsf@mouse.gnus.org> <83bly35igd.fsf@gnu.org> <8336jf5grv.fsf@gnu.org> <83wogr40pc.fsf@gnu.org> <83v9wb40bf.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="175648"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 36490@debbugs.gnu.org, erik_hahn@gmx.de To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 09 19:05:05 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hktY9-000jZ3-LK for geb-bug-gnu-emacs@m.gmane.org; Tue, 09 Jul 2019 19:05:05 +0200 Original-Received: from localhost ([::1]:52154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hktY8-0002pf-Kw for geb-bug-gnu-emacs@m.gmane.org; Tue, 09 Jul 2019 13:05:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47488) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hktUI-0000it-Ir for bug-gnu-emacs@gnu.org; Tue, 09 Jul 2019 13:01:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hktUF-0002bj-OQ for bug-gnu-emacs@gnu.org; Tue, 09 Jul 2019 13:01:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53463) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hktUE-0002am-Li for bug-gnu-emacs@gnu.org; Tue, 09 Jul 2019 13:01:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hktUE-0004ua-HF for bug-gnu-emacs@gnu.org; Tue, 09 Jul 2019 13:01:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 09 Jul 2019 17:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36490 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 36490-submit@debbugs.gnu.org id=B36490.156269162218812 (code B ref 36490); Tue, 09 Jul 2019 17:01:02 +0000 Original-Received: (at 36490) by debbugs.gnu.org; 9 Jul 2019 17:00:22 +0000 Original-Received: from localhost ([127.0.0.1]:34048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hktTa-0004tM-6r for submit@debbugs.gnu.org; Tue, 09 Jul 2019 13:00:22 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:49696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hktTX-0004tC-1x for 36490@debbugs.gnu.org; Tue, 09 Jul 2019 13:00:20 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hktTR-0007Lo-Vn; Tue, 09 Jul 2019 19:00:16 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEUKDUgAAEsAAU36+ARM S0QAAE+ujyb//wAAAE3+/wjWxRnUA99JAAACNklEQVQ4jbXSQYvaQBQA4FFCK3sypYUcNegiPW3J krA5RXc6LZ5scMCjNdPZklMhxYAnIwbmuNBTb7aRCPmVfZNJXN312gdxzHy+vPG9oLvfL+JO7iE3 DHkRhnkRFnkBEeSw8jxDFtxk6nLlIr/LFTnx5fg/YOP7SxAxRMgFsD0ti6ML4IXPa8CVY0xevSge R3NdbzOtcJ7DTjeSZH4Vu+HhHIYSWnCgaE+yMzAEhKwRjbpPhOI9wEysA7hZDYVOnOOpvhoyJyFw 4BshfO1Qw6NQscZ8NBOztPdQwU9xGjSl00MFZXXRKj/TNKUTLVAwKLe+1yl0yr0HCUuMMSQtyu0+ pXQSu0HZK9nc4WZnqEcBFE5UQ/xD36knAfhZwfERkoYhjColiG9JDR/anxORrKEJAFpomzX8WUPG ZtQsy/sdTwGMdGG2NRKuVvNm3/fpxlSwul/x0FKpt32fUrOC5cmIIsZMUz4qsyzr1/lUbW8c5UiH QBrhYXauSDdUD990tNPJSpADlDHYdE8M6QPoJ4ULNPXNznG0bzH2MJ4ATBBu+NTUnAoYY5xxMsWe 6Gqe1zSvasCYzxmZcjaDsX4hDB1UjX4HaTAqzJmcN30f79XLoMtWz6A++ihPAbB4rUBK2Wz5ewnf PlVgXGPUkLtlRs9ZKGjo7SAuxgxpLeG/o+nE2akaNibQcCdys127t+/TrfO3ehMdq27qOHTng21c w9Mk4C8vzW18o8CCW5tzaLvMXBrXFfwDmRTVdnC3Ri4AAAAASUVORK5CYII= In-Reply-To: <83v9wb40bf.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 09 Jul 2019 19:52:52 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:162526 Archived-At: Eli Zaretskii writes: > Sorry, that's not what I meant to say. I meant to say how would a > Lisp program know whether (expand-file-name "~/") means the home > directory or a directory whose name is literally "~"? Well, we have documented that in expand-file-name "~/" means the home directory, and I have no problems with that. "~/" isn't something you'll ever get from functions like directory-files, so it's not something you'd feed to expand-file-name in these situations... > Btw, stuff like (expand-file-name "foo/~/") already does what you > want, so the problem is only with the leading '~', and can be avoided > if we avoid that situation. IOW, why should this example: > > (expand-file-name "~" "/tmp/") > => "/home/larsi" > > determine how directory-files-recursively behaves? expand-file-name's use case is to (basically) concatenate a directory name and a file name, but it's used instead of concat because nobody wants to care about whether the directory name has a trailing slash or not. (concat "/tmp/" "foo") => "/tmp/foo" ; Good (concat "/tmp" "foo") => "/tmpfoo" ; Bad. (expand-file-name "foo" "/tmp") => "/tmp/foo" ; Yay That's basically the use case for expand-file-name, and using it has avoided a lot of basic concatenation problems over the years (because Emacs allows sloppy handling of directory file names in most situations). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no