From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Spencer Baugh Newsgroups: gmane.emacs.bugs Subject: bug#62732: 29.0.60; uniquify-trailing-separator-p affects any buffer whose name matches a dir in CWD Date: Mon, 10 Jul 2023 09:39:10 -0400 Message-ID: References: <87h6tpn8d5.fsf@catern.com> <87edotn7sx.fsf@catern.com> <87edlhm6wq.fsf@catern.com> <87o7kklf9c.fsf@catern.com> <83r0pf9b7d.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31037"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: sbaugh@catern.com, monnier@iro.umontreal.ca, 62732@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jul 10 15:40:22 2023 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 1qIr7m-0007uA-P5 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 10 Jul 2023 15:40:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qIr7Y-0006V5-U4; Mon, 10 Jul 2023 09:40:08 -0400 Original-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 1qIr7W-0006Rc-38 for bug-gnu-emacs@gnu.org; Mon, 10 Jul 2023 09:40:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qIr7U-0005RE-52 for bug-gnu-emacs@gnu.org; Mon, 10 Jul 2023 09:40:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qIr7S-0003B3-J1 for bug-gnu-emacs@gnu.org; Mon, 10 Jul 2023 09:40:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Spencer Baugh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 10 Jul 2023 13:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62732 X-GNU-PR-Package: emacs Original-Received: via spool by 62732-submit@debbugs.gnu.org id=B62732.168899635912125 (code B ref 62732); Mon, 10 Jul 2023 13:40:02 +0000 Original-Received: (at 62732) by debbugs.gnu.org; 10 Jul 2023 13:39:19 +0000 Original-Received: from localhost ([127.0.0.1]:48027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIr6l-00039U-51 for submit@debbugs.gnu.org; Mon, 10 Jul 2023 09:39:19 -0400 Original-Received: from mxout5.mail.janestreet.com ([64.215.233.18]:35659) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIr6h-00039G-Lh for 62732@debbugs.gnu.org; Mon, 10 Jul 2023 09:39:17 -0400 In-Reply-To: <83r0pf9b7d.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 10 Jul 2023 15:56:38 +0300") 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:264886 Archived-At: Eli Zaretskii writes: >> Cc: 62732@debbugs.gnu.org >> From: sbaugh@catern.com >> Date: Mon, 10 Jul 2023 01:36:00 +0000 (UTC) >> >> Great! Here's that as a complete patch again. > >> --- a/lisp/dired.el >> +++ b/lisp/dired.el >> @@ -1306,7 +1306,7 @@ dired-internal-noselect >> ;; Note that buffer already is in dired-mode, if found. >> (new-buffer-p (null buffer))) >> (or buffer >> - (setq buffer (create-file-buffer (directory-file-name dirname)))) >> + (setq buffer (create-file-buffer dirname))) > > This seems to imply that callers of create-file-buffer will now have > to remember to ensure the argument ends in a slash if it is the name > of a directory. If so, I'd prefer that create-file-buffer did that > internally, when its argument is a directory. Callers shouldn't know > to much about the internals of the callee. I can (and should) add this to the docstring of create-file-buffer. It seems intuitive to me that the last non-empty component of the filename passed in by the caller is what create-file-buffer uses, including if that "last component" ends in a slash. (It's a nice way to avoid the additional DIRECTORY argument which says whether the filename is intended to refer to a directory) By doing this internally in create-file-buffer, you mean running file-directory-p to see if the filename actually points to an existing directory? I'm hesitant to do that: - That prevents running create-file-buffer to create a buffer to visit a directory which does not yet exist (in the same way you can visit a file which does not yet exist). dired doesn't currently support that but other packages might want to. - Checking file-directory-p is what uniquify did which caused these bugs in the first place, and I think this could partially recreate the same bug, where we add a trailing slash just because there happens to be a directory of the right name. (Although I'm not sure, just worried) - It adds filesystem access to what is currently a pure function. > Does this changeset have any user-facing behavior changes? If so, > they should be at least in NEWS. The only user-facing behavior change is fixing the two bugs mentioned in the commit message. Is that appropriate to include in NEWS?