From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" 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: Fri, 05 May 2023 16:13:52 -0400 Message-ID: References: <87h6tpn8d5.fsf@catern.com> <87edotn7sx.fsf@catern.com> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31638"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 62732@debbugs.gnu.org To: sbaugh@catern.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 05 22:15:20 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 1pv1po-0007xf-80 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 May 2023 22:15:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pv1pY-0002OO-Rb; Fri, 05 May 2023 16:15:04 -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 1pv1pW-0002O8-M9 for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 16:15:02 -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 1pv1pW-0000dD-E0 for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 16:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pv1pW-0006LC-9U for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 16:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 May 2023 20:15: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.168331764424283 (code B ref 62732); Fri, 05 May 2023 20:15:02 +0000 Original-Received: (at 62732) by debbugs.gnu.org; 5 May 2023 20:14:04 +0000 Original-Received: from localhost ([127.0.0.1]:57601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pv1oa-0006Jb-Eg for submit@debbugs.gnu.org; Fri, 05 May 2023 16:14:04 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pv1oX-0006Ii-Sn for 62732@debbugs.gnu.org; Fri, 05 May 2023 16:14:03 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id F0222442D2B; Fri, 5 May 2023 16:13:55 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5DC4D442D29; Fri, 5 May 2023 16:13:54 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1683317634; bh=b2E9Xwr/sONmmFeDalug4Kg+X5P2gy43k4QCB/Of+q0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=dr64vIdvrcGolfYNhIhzTH4iS8jJkWLzUm9nQD2JkrMd6rfa1dBpfAH4aHdvcECnr SLDVDZA2gySgRpf6f1C/cTR0MaceEHNxxTDyrYPlvbiKmtlDNHD46Y/RyrSw1D0Jx5 RZ3voTiE1XH9HwR1pp4UIywGZ1HoOJZMvo1hkWSAcaDaQHp0azjZahMM3dMhGaEkD/ 3SnHvQssKYNeNcIppehlBJvcyWZYaaOjQ94EWOVh/EACh57DUVC7s7runcJK8T07iw IITVnaSs1bCiI8wsFM2JtQ2N1r5L8RfDZWhSlpIN+TaJatBxjgdjKIZHNJZH9ZdG7T IEkHeMxs9JAdA== Original-Received: from pastel (unknown [45.72.217.176]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2FD3D120099; Fri, 5 May 2023 16:13:54 -0400 (EDT) In-Reply-To: <87edotn7sx.fsf@catern.com> (sbaugh@catern.com's message of "Sun, 09 Apr 2023 01:49:51 +0000 (UTC)") 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:261140 Archived-At: > This patch takes the approach of pulling uniquify-trailing-separator-p > out of uniquify and putting it into dired; now the trailing separator is > specified when the dired buffer is created. This is incidentally also > vastly more efficient: The old way did n=B2 filesystem accesses which is > not something we should be doing on every buffer creation/rename. It's indeed a better approach, thanks. I'm a bit annoyed at the need to add an argument to `create-file-buffer` and I wonder if we could avoid that by replacing: > +(defun dired--create-buffer (dirname) > + "Create a buffer with an appropriate name for visiting this directory. > + > +Obeys `dired-trailing-separator'." > + (let* ((filename (directory-file-name dirname)) > + (base (file-name-nondirectory filename))) > + (create-file-buffer filename > + (if dired-trailing-separator > + (cond ((eq uniquify-buffer-name-style 'forwa= rd) > + (file-name-as-directory base)) > + ((eq uniquify-buffer-name-style 'reverse) > + (concat (or uniquify-separator "\\") base)))= )))) with (defun dired--create-buffer (dirname) "Create a buffer with an appropriate name for visiting this directory. Obeys `dired-trailing-separator'." (let* ((filename (directory-file-name dirname))) (create-file-buffer (if dired-trailing-separator (file-name-as-directory filename) filename)))) or even just (defun dired--create-buffer (dirname) "Create a buffer with an appropriate name for visiting this directory= ." (create-file-buffer (file-name-as-directory dirname))) and then do the rest inside `uniquify.el`. Stefan