GNU bug report logs - #44023
dired-allow-duplicate-buffers

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Boruch Baum <boruch_baum@HIDDEN>; dated Thu, 15 Oct 2020 19:23:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 44023 <at> debbugs.gnu.org:


Received: (at 44023) by debbugs.gnu.org; 16 Oct 2020 06:46:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 16 02:46:56 2020
Received: from localhost ([127.0.0.1]:57395 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kTJVw-0004u4-52
	for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 02:46:56 -0400
Received: from mout.gmx.net ([212.227.17.21]:48745)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <boruch_baum@HIDDEN>) id 1kTJVu-0004tk-8t
 for 44023 <at> debbugs.gnu.org; Fri, 16 Oct 2020 02:46:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1602830808;
 bh=8jZb6kDbcNT7t/fh8Cmfb8NOseyGl0OxD/DitM8JXJw=;
 h=X-UI-Sender-Class:Date:From:To:Cc:Subject:References:In-Reply-To;
 b=Y4N1OnmRC+b7anS0+TNALMqGhYu7IDTwFMKRPK2OiyyQoXfoY+YX2qn3uh/nkPmW7
 z8TtMPnblUgwP0NXcpKeqkCfjVOZQk9jyrMz/ebgk1n29OlGi9WwHd60iZu6u47v0U
 Ip1jIHx777ItlQjtTWjp5uD7QMui3dGCdb5RnZl4=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from E15-2016.optimum.net ([72.89.170.172]) by mail.gmx.com
 (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id
 1MPogF-1kpXK02hud-00Mt9J; Fri, 16 Oct 2020 08:46:48 +0200
Date: Fri, 16 Oct 2020 02:46:44 -0400
From: Boruch Baum <boruch_baum@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#44023: dired-allow-duplicate-buffers
Message-ID: <20201016064644.poo6ljwpgdhbsksy@HIDDEN>
References: <20201015192231.rezuhk7foiyq3uff@HIDDEN>
 <87wnzqrb0y.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87wnzqrb0y.fsf@HIDDEN>
User-Agent: NeoMutt/20180716
X-Provags-ID: V03:K1:f9l5PC4GOLSkA8LlMwvBknrTqoQveozxqAFsB4NH6RTycWRQfLY
 j1Wvw58tZDVA1Jr+H6qYfjb1U4NXP3bbF/H0rawUe48RSTUMJQwti52Ce7sChabhmX8EdGQ
 5qMfzvTNWTSORbzZ6hxE6BRvMnj7+dr72jUM4fqawmsxkYBQ2WXMvdDjZlbqz7tDCB9xNlr
 5ASfbdzeXFRujXQu+qCGA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:YLlNKIX5+ZE=:ndcmetnnja9Vt0RTr0n/i0
 Jm5xnDI8N3wJbQ3a8jYthszivayxx4eIDOHbvN4x1eSotMJtjL3X1xfKdTYGsVUFqn5vlFKBF
 QZ0qUloT38dH4IBlVnag4Bipd7YZBXwt59EPxV0IDRZvxDW1Ju1sxTAETcOntzcmQM43hcANC
 ZTSGrNDHOww9QuSikwPVLJzut7Bq4ke1WrY0Su10Woy06F290VJeo09v4lFkWWJtJfh5uW0Lr
 P77igL4N1f3Kz9VbGR+7rTjEXgpBV4olc7dTgBnF4+py1zUyhxrhHAQUxzUSIXOEAXPFpvmdZ
 m16zOz/pJs4Q8FAaEqfyl0kpDUdkHs5s/kkNj31wWfTbg64NAVYU684bnWAqwqVK2ST4r7/0X
 kcZgBFQcsm/df4aswL1wLbnxIyavCcOc63xzWcrsWm8Fzn6ih9hXrbt3FShVbgfdx3PMhdzGv
 f+4wlfvCU1dCouxgT4pq5dEYXDjH0hZhxOAGkhZegqcBrYzZTbWaMdJRlQRX1/ChklJj8LnIA
 zYbBIaPy1XqOqT6qMb82uKY6oA2RH/xdtPnBR/102x/lKcwn81EBOIytbO8Jm6eAm4vUTovVf
 heVVUug6yZVyn2ejxSlPBn4uK/qSZN4E3qynSRzN/R5mA7YlZt5VVt12BjvdkO4PUv8gfzMhi
 M6/G7VpoTEUFw9w2SqB+NrBc1hNLIu8Nvtw2H0VariCokxOG/h3O3NA3vEg9RTPqajk3FCWvS
 RG0kDbc51BYj4fVeUuKlol3dw2tJQaMjKsf6manKGJ/UzMu9BD3r5hwPkrNEGPljRmYiaiRZD
 fpiZKPtemdOF7tKfaZXfKRc70/wNKzvkKeQ0aDhxmvX4trwEgXbVgthWyx3FKSwLniLDuwUdl
 qwS4evLMJAjeY389vxcw==
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 44023
Cc: 44023 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On 2020-10-16 07:32, Lars Ingebrigtsen wrote:
> Boruch Baum <boruch_baum@HIDDEN> writes:
>
> > Also, implicit in the comment for `dired-find-buffer-nocreate' is that
> > more than one match may exist for a dired directory buffer.
> >
> > So, maybe this once existed or was planned?
>
> Dired has always supported having several buffers visiting the same
> directory, so I'm not quite sure what the proposed patch is trying to
> fix.  You just rename the buffer to something else, like with any
> command that defaults to a single buffer name (like, say, `M-x grep').

That's not "dired support" in any shape or form! That's an emacs kludge
external to dired that exploits how dired handles buffer names (likewise
for grep). Dired internally (in the very line being modified by my
patch) actively subverts having several buffers visiting the same
directory, and my experience in testing is that no harm is done when
using the patch.

=2D-
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#44023; Package emacs. Full text available.

Message received at 44023 <at> debbugs.gnu.org:


Received: (at 44023) by debbugs.gnu.org; 16 Oct 2020 05:32:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 16 01:32:41 2020
Received: from localhost ([127.0.0.1]:57284 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kTIM5-0000uS-GL
	for submit <at> debbugs.gnu.org; Fri, 16 Oct 2020 01:32:41 -0400
Received: from quimby.gnus.org ([95.216.78.240]:51026)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1kTIM3-0000uG-Ee
 for 44023 <at> debbugs.gnu.org; Fri, 16 Oct 2020 01:32:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=nz/ooy/S6mEdH8yEaU0rJadkN1JOz19pVilp72aJWqM=; b=rYavPadOhnhdWAWlCzJopohD8K
 f8PhbShZBjrcr0Ea6IR0m0AebOhhtEeIwyVj4wYPuMbrOv3rXOBMGh23FODpZNFgrwwggFIDPpjeV
 685I5V3gJMobonH3HJ9Pkizx8TgK1gYIqeWEkbrJIEm9lQGfKC+fGMT2FUy96MhGeMxo=;
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1kTILu-0007PC-Lz; Fri, 16 Oct 2020 07:32:33 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Boruch Baum <boruch_baum@HIDDEN>
Subject: Re: bug#44023: dired-allow-duplicate-buffers
References: <20201015192231.rezuhk7foiyq3uff@HIDDEN>
X-Now-Playing: Liaisons Dangereuses's _Liaisons Dangereuses_: "Liaisons
 Dangereuses"
Date: Fri, 16 Oct 2020 07:32:29 +0200
In-Reply-To: <20201015192231.rezuhk7foiyq3uff@HIDDEN> (Boruch
 Baum's message of "Thu, 15 Oct 2020 15:22:31 -0400")
Message-ID: <87wnzqrb0y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Boruch Baum <boruch_baum@HIDDEN> writes: > Also, implicit
 in the comment for `dired-find-buffer-nocreate' is that > more than one match
 may exist for a dired directory buffer. > > So, maybe this once existed or
 was planned? 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 44023
Cc: 44023 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Boruch Baum <boruch_baum@HIDDEN> writes:

> Also, implicit in the comment for `dired-find-buffer-nocreate' is that
> more than one match may exist for a dired directory buffer.
>
> So, maybe this once existed or was planned?

Dired has always supported having several buffers visiting the same
directory, so I'm not quite sure what the proposed patch is trying to
fix.  You just rename the buffer to something else, like with any
command that defaults to a single buffer name (like, say, `M-x grep').

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#44023; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Oct 2020 19:22:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 15 15:22:47 2020
Received: from localhost ([127.0.0.1]:56607 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kT8pq-0006ng-N0
	for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 15:22:47 -0400
Received: from lists.gnu.org ([209.51.188.17]:43228)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <boruch_baum@HIDDEN>) id 1kT8po-0006nY-Fb
 for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 15:22:44 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:50752)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <boruch_baum@HIDDEN>)
 id 1kT8pn-0001J6-Fz
 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2020 15:22:44 -0400
Received: from mout.gmx.net ([212.227.17.22]:43211)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <boruch_baum@HIDDEN>)
 id 1kT8ph-0003Ze-RM
 for bug-gnu-emacs@HIDDEN; Thu, 15 Oct 2020 15:22:41 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1602789754;
 bh=/SJJnVZEy5RRIWKc56csu+wxNMnvC4MyH2vuiIAczGg=;
 h=X-UI-Sender-Class:Date:From:To:Subject;
 b=JAspH/DB2Fdcjn1donsSvYiqfAFkt0DsBsUsanCQlg1IqwhG7lph5ZhYD7XJwBcuP
 VRTBOlzHYD2hkQxMtwadtaAJr9pG62hBkqQPS8FXV59oHqJBgSEpxkK+sL1SEieRMA
 hJ57OR8BLBl5T2BmlI73FEicYzLLCtT9cSCnVQLU=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from E15-2016.optimum.net ([72.89.170.172]) by mail.gmx.com
 (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id
 1N0XD2-1kGzlN45n2-00wUrX for <bug-gnu-emacs@HIDDEN>; Thu, 15 Oct 2020
 21:22:34 +0200
Date: Thu, 15 Oct 2020 15:22:31 -0400
From: Boruch Baum <boruch_baum@HIDDEN>
To: Emacs Bug Reporting <bug-gnu-emacs@HIDDEN>
Subject: dired-allow-duplicate-buffers
Message-ID: <20201015192231.rezuhk7foiyq3uff@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="msxhrqipppmkva3s"
Content-Disposition: inline
User-Agent: NeoMutt/20180716
X-Provags-ID: V03:K1:c+GDlkmTijU7Xy4gbBe21iABJGeGt3VRZYQzzcKEbz/ePdWYvU6
 cEA6AgwdSeB8eunnLnPRbNK/tgu9IBq9n9IXEGt/U92rXM6OOlcD3YSgGVGRfSggBQIh3R9
 gRfyeyiFKby647cIdRGGNoHMWQcCi1t39Pd15erfrjUtl1hGji/E551HxctN5kaZZ5lNx3P
 ab6GAtlmiUNpG3EBD2iqA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:Ud0RRKRQEAY=:WIuzdZL/kEVsz08/8+ShxF
 dblNn0HN14hZNumw/wm8FAp3Fea811+zb0Vv//BOZRk4SfSvyXtCAfZd/h/naV71l/Mtdk7tD
 ETFyMHK847fxaH+VlNfRO4Pe4lsdkFnxflyqyU4uIcNekZWWHFnJObGuCiOLUk2e35/upSdag
 sOznSlNQZYJ//Jj54zmPoXHaNgqt2n2yVGnOXQvjr46ZfbfT/uOnmDeaVV9vzY2aBlhIo5oTc
 Vs9TlilGF2ERDXyX+PjXBjfmLxJweRUZrGPjLqiTTyK4QmD4RjcAxWvaj1AbX2virIlv1Uujc
 vsmK1qVBOeDWZhnJsdaSz74DnS/fnQNEnUY2++79A2X2bAyfWWmqxsnZ7GwN/bfjJ8feGiRoF
 UkoS4u5CChl7pB3DMFZfvljiUkptMW9yxDtfA73k/ALkp98jfpRNl5ozRV0TStgHg+Uf1KaZZ
 cbGLvp5sPhqyoz86paKrNLaBzUXF4QIO0DIJgw1WNa1BPIjSbd8h4RIiRZFphqPA/7fgXooft
 0Z3622bYb/BfEHc69AUu/8QSjcanCYfhXd9gKniS1eafZzrcmZnWISej1GPbY8BVBrNLLt14F
 ibsID9wSE/tl0DxrbgGqYonG63UZUzLVGOigiSjebXwlyqkjl9JXGGK+H7HujiUuX4xun1l2l
 95dLwPy1jW/o9kxIfpY37dV8VFi8Dtdj91UjbxeCcylDP57Ly0E4O7OtBRt+gCjD0ZnSMZ12h
 q4x9Z2yOTqiCcw5fv/AoHJqjHT0hoDgrtDP3692kDmPkuUzjVSfbU7NNvh/utcMZe1cSs6oCi
 Uiz3BrIcOwU95yPHA9A5USUTnyymiiCy9w0omp1qmFfnjscBMqUDuM1pPbOhEE+DX5lEXlick
 epU55m+ASIDCViNT4uHw==
Received-SPF: pass client-ip=212.227.17.22; envelope-from=boruch_baum@HIDDEN;
 helo=mout.gmx.net
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/15 14:57:52
X-ACL-Warn: Detected OS   = Linux 2.2.x-3.x [generic] [fuzzy]
X-Spam_score_int: -25
X-Spam_score: -2.6
X-Spam_bar: --
X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.6 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)


--msxhrqipppmkva3s
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

The attached patch adds a defcustom option to allow multiple buffers to
visit the same directory. This became desirable to me for an extension I
wrote (soon to be submitted) to store each chain of dired buffers'
'navigation history' and allow going back/forward to any point in the
history. As you all know, this has been a feature common to all file
*managers* since almost forever; technically dired is a directory
editor, not a file manager, but I expect many will find the feature
desirable, even expected, since all other similar programs have it.

In going through the existing dired code, it seems that some functions
presume that multiple buffers can be visiting the same directory. See:

  dired-find-buffer-nocreate
  dired-fun-in-all-buffers
  dired-clean-up-after-deletion

Also, implicit in the comment for `dired-find-buffer-nocreate' is that
more than one match may exist for a dired directory buffer.

So, maybe this once existed or was planned?

The first patch is for the option. The second patch is a change of
comments to docstrings.

=2D-
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0

--msxhrqipppmkva3s
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="1.patch"
Content-Transfer-Encoding: quoted-printable

diff --git a/NEWS b/NEWS
index a76447d..ca7f31b 100644
=2D-- a/NEWS
+++ b/NEWS
@@ -284,6 +284,10 @@ time zones will use a form like "+0100" instead of "C=
ET".

 ** Dired

++++
+*** New user option: 'dired-allow-duplicate-buffers'
+If set, allows multiple dired buffers to visit the same directory.
+
 ---
 *** Broken and circular links are shown with the 'dired-broken-symlink' f=
ace.

diff --git a/dired.el b/dired.el
index 7839ace..36c2f17 100644
=2D-- a/dired.el
+++ b/dired.el
@@ -353,6 +353,12 @@ is anywhere on its Dired line, except the beginning o=
f the line."
   :group 'dired
   :version "28.1")

+(defcustom dired-allow-duplicate-buffers t
+  "Allow multiple `dired' buffers to visit the same directory."
+  :type 'boolean
+  :group 'dired
+  :version "28.1")
+
 ;; Internal variables

 (defvar dired-marker-char ?*		; the answer is 42
@@ -1152,9 +1158,11 @@ The return value is the target column for the file =
names."
   ;; see there.
   (let* ((old-buf (current-buffer))
 	 (dirname (if (consp dir-or-list) (car dir-or-list) dir-or-list))
-         ;; Look for an existing buffer.
-         (buffer (dired-find-buffer-nocreate dirname mode))
-	 ;; Note that buffer already is in dired-mode, if found.
+         (buffer (when (not (bound-and-true-p dired-allow-duplicate-buffe=
rs))
+                   ;; Look for an existing buffer.
+                   (dired-find-buffer-nocreate dirname mode)
+                   ;; 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))))

--msxhrqipppmkva3s
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="2.patch"

diff --git a/dired.el b/dired.el
index 36c2f17..2ecd6bd 100644
--- a/dired.el
+++ b/dired.el
@@ -1143,19 +1143,21 @@ The return value is the target column for the file names."
             (forward-line)))))))

 (defun dired-internal-noselect (dir-or-list &optional switches mode)
-  ;; If DIR-OR-LIST is a string and there is an existing dired buffer
-  ;; for it, just leave buffer as it is (don't even call dired-revert).
-  ;; This saves time especially for deep trees or with ange-ftp.
-  ;; The user can type `g' easily, and it is more consistent with find-file.
-  ;; But if SWITCHES are given they are probably different from the
-  ;; buffer's old value, so call dired-sort-other, which does
-  ;; revert the buffer.
-  ;; Revert the buffer if DIR-OR-LIST is a cons or `dired-directory'
-  ;; is a cons and DIR-OR-LIST is a string.
-  ;; A pity we can't possibly do "Directory has changed - refresh? "
-  ;; like find-file does.
-  ;; Optional argument MODE is passed to dired-find-buffer-nocreate,
-  ;; see there.
+  "Internal function for `dired-noselect'.
+
+If DIR-OR-LIST is a string and there is an existing dired buffer
+for it, just leave buffer as it is (don't even call `dired-revert').
+This saves time especially for deep trees or with `ange-ftp'.
+The user can type `g' easily, and it is more consistent with `find-file'.
+But if SWITCHES are given they are probably different from the
+buffer's old value, so call `dired-sort-other', which does
+revert the buffer.
+Revert the buffer if DIR-OR-LIST is a cons or `dired-directory'
+is a cons and DIR-OR-LIST is a string.
+A pity we can't possibly do \"Directory has changed - refresh?\"
+like `find-file' does.
+Optional argument MODE is passed to `dired-find-buffer-nocreate',
+see there."
   (let* ((old-buf (current-buffer))
 	 (dirname (if (consp dir-or-list) (car dir-or-list) dir-or-list))
          (buffer (when (not (bound-and-true-p dired-allow-duplicate-buffers))
@@ -1219,20 +1221,24 @@ The return value is the target column for the file names."
     buffer))

 (defvar dired-buffers nil
-  ;; Enlarged by dired-advertise
-  ;; Queried by function dired-buffers-for-dir. When this detects a
-  ;; killed buffer, it is removed from this list.
-  "Alist of expanded directories and their associated Dired buffers.")
+  "Alist of expanded directories and their associated Dired buffers.
+The list is enlarged by `dired-advertise'. Function
+`dired-buffers-for-dir' queries this list and removes killed
+buffers from it, when detected.")

 (defvar dired-find-subdir)
+;; `dired-find-subdir' is defined in `dired-x.el'

 ;; FIXME add a doc-string, and document dired-x extensions.
 (defun dired-find-buffer-nocreate (dirname &optional mode)
-  ;; This differs from dired-buffers-for-dir in that it does not consider
-  ;; subdirs of default-directory and searches for the first match only.
-  ;; Also, the major mode must be MODE.
-  (if (and (featurep 'dired-x)
-           dired-find-subdir
+  "Internal function for `dired-internal-noselect'.
+Searches among buffers of major-mode MODE (default `dired-mode')
+for one visiting DIRNAME, and returns the first one found. This
+differs from `dired-buffers-for-dir' in that it does not consider
+subdirs of `default-directory', it searches only for the first
+match, and it can restrict its search to buffers of
+major-mode MODE."
+  (if (and (featurep 'dired-x) dired-find-subdir
            ;; Don't try to find a wildcard as a subdirectory.
 	   (string-equal dirname (file-name-directory dirname)))
       (let* ((cur-buf (current-buffer))

--msxhrqipppmkva3s--




Acknowledgement sent to Boruch Baum <boruch_baum@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#44023; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 16 Oct 2020 07:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.