From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 23:19:31 2025 Received: (at submit) by debbugs.gnu.org; 1 Jun 2025 03:19:32 +0000 Received: from localhost ([127.0.0.1]:34705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLZEP-0000AO-3r for submit@debbugs.gnu.org; Sat, 31 May 2025 23:19:31 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56400) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLZEJ-00009R-VC for submit@debbugs.gnu.org; Sat, 31 May 2025 23:19:27 -0400 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 1uLZEE-00041W-Gm for bug-gnu-emacs@gnu.org; Sat, 31 May 2025 23:19:18 -0400 Received: from smtp-4.orcon.net.nz ([60.234.4.59]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uLZEC-0001nV-K6 for bug-gnu-emacs@gnu.org; Sat, 31 May 2025 23:19:18 -0400 Received: from [10.253.37.70] (port=43281 helo=webmail.orcon.net.nz) by smtp-4.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uLZDy-0008W2-Eb for bug-gnu-emacs@gnu.org; Sun, 01 Jun 2025 15:19:03 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Sun, 01 Jun 2025 15:19:02 +1200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_a60df529f5fc4d944b519084dd22572b" Date: Sun, 01 Jun 2025 15:19:02 +1200 From: Phil Sainty To: bug-gnu-emacs@gnu.org Subject: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Message-ID: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- Received-SPF: pass client-ip=60.234.4.59; envelope-from=psainty@orcon.net.nz; helo=smtp-4.orcon.net.nz 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.3 (/) --=_a60df529f5fc4d944b519084dd22572b Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed A user in the matrix.org Emacs chat room was asking why they couldn't open multiple directories in multiple dired buffers, mark various files in each of those buffers, and then perform some action on ALL of those marked files at once. My first thought was that this would be chaotic due to the possibility of dired buffers with marked files which the user wasn't aware of at the time; but then I remembered that you can pass `dired' a file list in order to create a new dired buffer with only those files, and I thought *that* sounded like a nice feature which addressed the requirement in a safe manner (as the user then gets to review the file list in the new dired buffer before acting on them). I've attached a patch with a first pass implementation. Thoughts? --=_a60df529f5fc4d944b519084dd22572b Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-lisp-dired.el-dired-on-marked-files-in-all-buffers-N.patch Content-Disposition: attachment; filename=0001-lisp-dired.el-dired-on-marked-files-in-all-buffers-N.patch; size=1832 RnJvbSBkMDI0YWM4NWVmNmNlMjYwMTk2YTQ3YTg1ZGM3ZjA0YTU0ZmNmMTE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsIFNhaW50eSA8cHNhaW50eUBvcmNvbi5uZXQubno+CkRh dGU6IFN1biwgMSBKdW4gMjAyNSAxNDo1OTozOCArMTIwMApTdWJqZWN0OiBbUEFUQ0hdICogbGlz cC9kaXJlZC5lbDogKGRpcmVkLW9uLW1hcmtlZC1maWxlcy1pbi1hbGwtYnVmZmVycyk6IE5ldwog Y29tbWFuZAoKKGRpcmVkLWdldC1tYXJrZWQtZmlsZXMtaW4tYWxsLWJ1ZmZlcnMpOiBOZXcgZnVu Y3Rpb24uCi0tLQogbGlzcC9kaXJlZC5lbCB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9kaXJl ZC5lbCBiL2xpc3AvZGlyZWQuZWwKaW5kZXggNjNkMzczYTYzZGMuLmUyNTYzYTFhZWE0IDEwMDY0 NAotLS0gYS9saXNwL2RpcmVkLmVsCisrKyBiL2xpc3AvZGlyZWQuZWwKQEAgLTEwNzAsNiArMTA3 MCwzMSBAQCBkaXJlZC1nZXQtbWFya2VkLWZpbGVzCiAgICAgICAodXNlci1lcnJvciAoaWYgKHN0 cmluZ3AgZXJyb3IpIGVycm9yICJObyBmaWxlcyBzcGVjaWZpZWQiKSkpCiAgICAgcmVzdWx0KSkK IAorKGRlZnVuIGRpcmVkLWdldC1tYXJrZWQtZmlsZXMtaW4tYWxsLWJ1ZmZlcnMgKCkKKyAgIlRo ZSBtYXJrZWQgZmlsZXMgaW4gYWxsIGRpcmVkIGJ1ZmZlcnMuIgorICAoY2wtZGVsZXRlLWR1cGxp Y2F0ZXMKKyAgIChhcHBseSAjJ25jb25jCisgICAgICAgICAgKG1hcGNhciAobGFtYmRhIChidWYp CisgICAgICAgICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZgorICAgICAgICAg ICAgICAgICAgICAgICh3aGVuIChkZXJpdmVkLW1vZGUtcCAnZGlyZWQtbW9kZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgIChsZXQgKChmaWxlcyAoZGlyZWQtZ2V0LW1hcmtlZC1maWxlcyBuaWwg bmlsIG5pbCB0KSkpCisJCQkgIDs7IEhhbmRsZSB0aGUgRElTVElOR1VJU0gtT05FLU1BUktFRCBi ZWhhdmlvdXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25kICgoZXFsIChsZW5ndGgg ZmlsZXMpIDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBmaWxlcyBu aWwpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFuZCAoZXFsIChsZW5ndGgg ZmlsZXMpIDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSAoY2Fy IGZpbGVzKSB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGZpbGVz IChjZHIgZmlsZXMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzKSkpKQorICAg ICAgICAgICAgICAgICAgKGJ1ZmZlci1saXN0KSkpCisgICA6dGVzdCAnZXF1YWwpKQorCisoZGVm dW4gZGlyZWQtb24tbWFya2VkLWZpbGVzLWluLWFsbC1idWZmZXJzICgpCisgICJJbnZva2UgYGRp cmVkJyBvbiB0aGUgbWFya2VkIGZpbGVzIGluIGFsbCBkaXJlZCBidWZmZXJzLiIKKyAgKGludGVy YWN0aXZlKQorICAoaWYtbGV0ICgoZmlsZXMgKGRpcmVkLWdldC1tYXJrZWQtZmlsZXMtaW4tYWxs LWJ1ZmZlcnMpKSkKKyAgICAgIChkaXJlZCAoY29ucyAiLyIgZmlsZXMpKQorICAgICh1c2VyLWVy cm9yICJObyBtYXJrZWQgZmlsZXMgaW4gYW55IGRpcmVkIGJ1ZmZlciIpKSkKKwogKGRlZnVuIGRp cmVkLW1hcmstLXJlZ2lvbi11c2UtcCAoKQogICAiV2hldGhlciBEaXJlZCBtYXJraW5nIGNvbW1h bmRzIHNob3VsZCBhY3Qgb24gcmVnaW9uLiIKICAgKGFuZCBkaXJlZC1tYXJrLXJlZ2lvbgotLSAK Mi4zNC4xCgo= --=_a60df529f5fc4d944b519084dd22572b-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 02:10:56 2025 Received: (at 78658) by debbugs.gnu.org; 1 Jun 2025 06:10:56 +0000 Received: from localhost ([127.0.0.1]:35595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLbuI-0004GK-T3 for submit@debbugs.gnu.org; Sun, 01 Jun 2025 02:10:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55934) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLbuG-0004FR-IW for 78658@debbugs.gnu.org; Sun, 01 Jun 2025 02:10:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uLbuB-0000uL-1c; Sun, 01 Jun 2025 02:10:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=An3TLhO8d5fKOOF+HdJBtNoEYh5ReX5fU1fAz8/WeU0=; b=eaUistiF+w9O aMspev+qd9LbMDGwosRZqrxxsbEbnb9EwEmV6B94nogTwbWOuLr33GB4B2xG2qbKKf5o/6xEyADRR GDP5ICShfGylSixij31GmhW2Alu8z9nl6nRdVGsD/IwFk+nTh7WonFtRPJ7HJgkqIkW/tzBHrkBEL EDsr0e5e4lrNYTtgtKf0eowajpsxeTe6FxLD4dUTFi1+2GTXrlCAbaSm4fl2N6pLiYdxoCtabDqun VSpK3U1e5PKwaIvZqDh2XEQMXYG9lCsL6e87xV2PgX7fXauovVIoyon2DGf4Var8kE8hocW9Vf7qk Xw+Sx+K7ZQQ7bL/CC4ptag==; Date: Sun, 01 Jun 2025 09:10:45 +0300 Message-Id: <86a56sq9ei.fsf@gnu.org> From: Eli Zaretskii To: Phil Sainty In-Reply-To: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> (message from Phil Sainty on Sun, 01 Jun 2025 15:19:02 +1200) Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > Date: Sun, 01 Jun 2025 15:19:02 +1200 > From: Phil Sainty > > A user in the matrix.org Emacs chat room was asking why they couldn't > open multiple directories in multiple dired buffers, mark various files > in each of those buffers, and then perform some action on ALL of those > marked files at once. If those other directories are subdirectories of some common parent, we already have 'i'. > My first thought was that this would be chaotic due to the possibility > of dired buffers with marked files which the user wasn't aware of at > the time; but then I remembered that you can pass `dired' a file list > in order to create a new dired buffer with only those files, and I > thought *that* sounded like a nice feature which addressed the > requirement in a safe manner (as the user then gets to review the file > list in the new dired buffer before acting on them). > > I've attached a patch with a first pass implementation. > > Thoughts? I guess we could add that, although it's a rare use case, and the display is not very nice, since all the file names are absolute, and thus long. Perhaps use abbreviate-file-name? > +(defun dired-on-marked-files-in-all-buffers () > + "Invoke `dired' on the marked files in all dired buffers." > + (interactive) > + (if-let ((files (dired-get-marked-files-in-all-buffers))) > + (dired (cons "/" files)) Why "/"? It sounds arbitrary. Also non-portable; use (expand-file-name "/") instead. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 03:04:03 2025 Received: (at 78658) by debbugs.gnu.org; 1 Jun 2025 07:04:04 +0000 Received: from localhost ([127.0.0.1]:35984 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLcjj-0002Yl-9w for submit@debbugs.gnu.org; Sun, 01 Jun 2025 03:04:03 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:39545) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLcjf-0002Wf-2U for 78658@debbugs.gnu.org; Sun, 01 Jun 2025 03:04:00 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 1193D43A30; Sun, 1 Jun 2025 07:03:50 +0000 (UTC) From: Juri Linkov To: Phil Sainty Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> Date: Sun, 01 Jun 2025 09:58:47 +0300 Message-ID: <87wm9wueqs.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdefgedufeculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdefrddvjedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeekieehkeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehpshgrihhnthihsehorhgtohhnrdhnvghtrdhnii X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > A user in the matrix.org Emacs chat room was asking why they couldn't > open multiple directories in multiple dired buffers, mark various files > in each of those buffers, and then perform some action on ALL of those > marked files at once. > > My first thought was that this would be chaotic due to the possibility > of dired buffers with marked files which the user wasn't aware of at > the time; but then I remembered that you can pass `dired' a file list > in order to create a new dired buffer with only those files, and I > thought *that* sounded like a nice feature which addressed the > requirement in a safe manner (as the user then gets to review the file > list in the new dired buffer before acting on them). > > I've attached a patch with a first pass implementation. > > Thoughts? Ideally, it could find the common prefix, then set default-directory to it and list only relative file names, like in the output of e.g. 'find-dired-with-command'. But it already is very useful, and much better than the output of 'M-x locate'. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 12:53:47 2025 Received: (at 78658) by debbugs.gnu.org; 1 Jun 2025 16:53:47 +0000 Received: from localhost ([127.0.0.1]:41093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLlwR-00080E-2B for submit@debbugs.gnu.org; Sun, 01 Jun 2025 12:53:47 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:50777) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLlwN-0007yk-Tc for 78658@debbugs.gnu.org; Sun, 01 Jun 2025 12:53:44 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 95B1743B7E; Sun, 1 Jun 2025 16:53:35 +0000 (UTC) From: Juri Linkov To: Phil Sainty Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <87wm9wueqs.fsf@mail.linkov.net> Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> Date: Sun, 01 Jun 2025 19:43:42 +0300 Message-ID: <871ps3v2dd.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdefheefvdculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdefrddvjedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeekieehkeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehpshgrihhnthihsehorhgtohhnrdhnvghtrdhnii X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) >> I've attached a patch with a first pass implementation. >> >> Thoughts? > > Ideally, it could find the common prefix, then set > default-directory to it and list only relative file names, > like in the output of e.g. 'find-dired-with-command'. > > But it already is very useful, and much better > than the output of 'M-x locate'. I realized this feature has great potential. When restricted to a project's subdirs it can serve as a project's workspace where the user can select a set of relevant files to work on. Currently the closest approximation is *vc-dir*. But it shows only edited files by default. While it's possible to add unedited files by 'i' ('vc-dir-show-fileentry'), it's not as easy as marking files in Dired. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 01 20:13:59 2025 Received: (at 78658) by debbugs.gnu.org; 2 Jun 2025 00:13:59 +0000 Received: from localhost ([127.0.0.1]:43719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLsoQ-0005xd-BL for submit@debbugs.gnu.org; Sun, 01 Jun 2025 20:13:58 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:24270) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLsoN-0005xN-O3 for 78658@debbugs.gnu.org; Sun, 01 Jun 2025 20:13:56 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 551NMZXq014726; Mon, 2 Jun 2025 00:13:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=/Al6/yftHs4zlkUDITUA8I6gPKZx+PcCFf08Xb0DzT0=; b= B0LqfP4I48xFxkRqahhPVJixBYxe76dDroOhIV6Vo2vErNGsnWtyXZkrVrcX00y0 4yzElJsUgY5eaSNjzL8gMJxckDrihkn5cbrs1REJKLqEVNKgGuC1+2Fmmol4ti2h ofgvyz9bWM2migD5/2XraxW5sh6GIKr+y2e0ub7+csUkO9il/o2pva+S7w7dpqB5 EDBJ28qduJNZBKb2ShfONuAXHGjoxiSAnIEj5MpRLLouWYD2IWtX0DcPIeD4tuFr yyyDkVFUPVY8xo9BoiQD67KSYlaiVGiRSX0Qt4vJXFh6d0w9n/Cs5iee4DKZfPPG obFo8hMHbgGCfGoTyhrRxg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46ysncshp9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Jun 2025 00:13:53 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 551K5UfC038511; Mon, 2 Jun 2025 00:13:53 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2062.outbound.protection.outlook.com [40.107.236.62]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr77c1w5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Jun 2025 00:13:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sI4vZAuslfHYklkwXk20jcmQ6+7hxO43hQMgiRVJt7vczKGUYzkKi29Kqv5hDFg/hbdiOvRQ/uWWQoFLvcagFc9GPh3nU88wHeAhh1As+B6ejApv/rjr68anCUyDhcsU+P0o8/y4aj8C+SukGDux0S/Qv57RvN7jtNkF8GzzK8TCjZcFt7jLi+7RG1RpwKAyTEedes4le4DcRKkPbaLFmknWtthztccwy+aiGN9ISoKj4YmIHctFfhmf1Rz6rOP8PTVeDZX05b8j3l59Tffp+QBGIxfpJuoH6U2mEbW33F5nbG5mlAijStZcHvSOxU33TFqTSQHbxBJPip6gbZoXSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/Al6/yftHs4zlkUDITUA8I6gPKZx+PcCFf08Xb0DzT0=; b=qWuPx45kZHf3p3OILlPTcjOku0mwsG5eeLQOnClBNfq9rZrBsIeMhNGDj4oOlN+i8IZC2VZcbS0EJyoYwCx9n1QVpDjtzF6s+2q/fRIFIKfGo3use7C0i98cpmRggGGTh7eAvXGk4p2fuC55NvMKdQMkf4/zOZX37lX0x4AKSaVfq7sVi32S3MINKvQpNY+0+drdW9Tt7GqF24SdGQVVpxa7hcFpod79osSKXt4Z3BKFcCsUg1kWOft7wVM8A9ElsWkCYeazD2do5jJ0SD6E5VJegEXKMiyYxrU/8knR+Ev99qjJyPU7w35qxCa2a5Lbo/kVBwcAmeAq9AoXPZaMhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/Al6/yftHs4zlkUDITUA8I6gPKZx+PcCFf08Xb0DzT0=; b=qu8X2vlKI5zc6zlQOQMX/L1wiTrqEhhJ1PYUHjRN85O6xgc0GpFEDe88My/tdVXAbX5JrRouAMDmoFLAPsBfcNlW6XTh+F6qWcraW37Ny1U3BNFKTfszTvxgqpYvlAs1EM+ZvAGkpqIvXICYoeo2EXC/LXYPYBUPN9bsqPqn414= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CH0PR10MB4825.namprd10.prod.outlook.com (2603:10b6:610:da::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.40; Mon, 2 Jun 2025 00:13:50 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8746.035; Mon, 2 Jun 2025 00:13:50 +0000 From: Drew Adams To: Juri Linkov , Phil Sainty Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb01M21lMmW3O7QEGlOrnlsYt9fw== Date: Mon, 2 Jun 2025 00:13:50 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> In-Reply-To: <87wm9wueqs.fsf@mail.linkov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH0PR10MB4825:EE_ x-ms-office365-filtering-correlation-id: 185e2d45-4fa4-498e-c67d-08dda16a5a02 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?VyaOsFX8GgGJ25MEpIe1GxoQim9NQOcLRjg9u6D+LK42klfp7DYh1v97XpbV?= =?us-ascii?Q?AqWueGWw1YYIgFbBbnp1772zmbH+h8inhk7ZPPl9XagVwuuDGQa+znAxvdSf?= =?us-ascii?Q?jv8pcugsS65rT4iRYaE3xm6BDwI4cFiytiqC8mfBGw2p8K/bt29s7cWtGXTQ?= =?us-ascii?Q?P7AfHfTKYSUFtGPtO3E8GVs2DtFu2PMZl8LKLD9Ftg3dyMwd0gNnMpdcjIXj?= =?us-ascii?Q?xaIm9t5HOrRTirKXVNYwr+Oe4aKsMEHLl/qyQajX7cTZuufVoQS2GVqGe9NU?= =?us-ascii?Q?6AbDVGRDVir0dzwgo4Om64SBLrTQwi+t8ngSSWLeNUK+hoo4UzQMSFtPyH2u?= =?us-ascii?Q?NhQQYkwg9rhMLK0iuPP5iftrK1TTl5Aznm+Kl3MsjSdSZqKOGjtUXpAfiuDL?= =?us-ascii?Q?wa+QwtrdRbVio7dltWA3QBqXjEQ8aKdD6qp5o+p0BGL0yYHqdl2ujxIMu5uk?= =?us-ascii?Q?2urGNDr1ffvJAEqMUHxoDD/cNJUJT9C+tROkXTPW1HiF0Hd1kPcmfggtFatn?= =?us-ascii?Q?kyuk1B9ubFWn1mgWc7rjw4tIIqUHYO255AcH5p0YiVDSyI3QxSaKIQArB24e?= =?us-ascii?Q?KNtmVDSkGonxlnWj1awuhHsw6pPI91M/YD3vJAZzilnP8Gh6W4W1OUnSvaWd?= =?us-ascii?Q?ujrQc0Pq0xaTHtmeRhxx73evKWWRwb7XWE1TDBLeUHwpgEnJBxpOAmlTZSNA?= =?us-ascii?Q?TCvOQ4J9HQljvx+kxddh5ATgt4vUd1M48kSNbBzCgKfqw4mT3eZTkEs+m5k3?= =?us-ascii?Q?srrzMRHyYxNe3Rr6D50lz3LMN+e/fIZNl7P+pCBml9su60SGMr5oevcRpzLD?= =?us-ascii?Q?07evk+6eoKjMkPs3dfd1rMROGnwmqSW4687+ByxU5d7zSWtZiL306nnTfnwt?= =?us-ascii?Q?tG5lBeiUelJYVE4EsFywdHRNdwZy8/A5l6je7H4UgoQdVWiQYp7rhEr1J7qv?= =?us-ascii?Q?rFD7E19eBeJZqQyU9Go6dYsPOGyhPVOLBWMicDywrwXjP4u3b5ujedRP1uq2?= =?us-ascii?Q?V2p1i8C/kZ7X6zuKv5VeirWOKxTngps30RjPMDASK2KHiux4q9K3EEafSAC0?= =?us-ascii?Q?60jfjydcqxPgMkTrun51/rNMlFvc84yrY7TFt5Vr23DfKIDaBACJbw4b8q+x?= =?us-ascii?Q?CuBUgglpmRpaXcCaMc1JLy5iHJUeHtB30kiadeDrg5Bs/QHaIm1yoUUb+1xu?= =?us-ascii?Q?zShvhkq3ofO9rvgJF54AdtLAQ3nMHMmUHvKiu5sLGlNRO8a8PEpkOjhTNEWz?= =?us-ascii?Q?q2IL4U/r9WMTEL3/aemyBjgnNsj4UkHeEu/Ts2AO/1eWZAIKY5P+lDjRzMeW?= =?us-ascii?Q?c0ONU2Nx1Utr4DS8sjNUfD3BVIsohxDCjJuPgMrqR6ZT+XmA3chjqhdfL9uw?= =?us-ascii?Q?SptvAu2w9OsHW02J+ghOOCtt1zuRhhwgkfRWcIIEWlkDO5At3r0RLAs8qt3u?= =?us-ascii?Q?M7kJxpzLxvCxxuDen01/r0CvHiDrEiT1j9D9eYNeojP8YREasNcaDhaMohmq?= =?us-ascii?Q?f/DhAHfLgNLOy5M=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?2Y8ujeY1HsvHCERLNaOwzTItME7oeTXDgoCFqD68SbnjJdpg5RwcTGkby01I?= =?us-ascii?Q?i6usRkJVXQUFg9oFHqDQIt1fmLULASbeMC9pQdodyra47ELt21XSE8EaQTh5?= =?us-ascii?Q?ZuzM+/+Qft6DJ6rYRXFWRf2f1j/Pt28K99zReAnodrnaBxMiUkGQtjJIcyUe?= =?us-ascii?Q?7NCo+jxkEOIQdGgcXIayhpCnhA5OeN4WpftiPfUl+DJ6AQe6MYYxAfWXA7lo?= =?us-ascii?Q?iJMqGMo3fkPYQdZIosrX31Xf9OmdGqN0YHkGWj4b0XNIQQjMOY6aCftjEGtK?= =?us-ascii?Q?KfpnKrOkhNILsqiMrbtch8I+rFW+GBwC+3zQOfzHRghIUItXdYr9pDkZPjN8?= =?us-ascii?Q?h2ULdSqTiUkSJc5jwOr6F2qM8Vcn7waWAyn467xuqxGpdUzWICR/+YI5S2Ye?= =?us-ascii?Q?yXSaIsdT8EK64RhecoaTIHpD2YWxwRdPOc1w/Mu3pnJUXNhKp2D6dxnKWhpj?= =?us-ascii?Q?0J4kwZN58LAeL4xAjRrC/4xZ7mdODxJq2Jf5Vp9P99clYat3H0h5V6gb4R75?= =?us-ascii?Q?o3yaCvHlktW6JukSkfNumYVnasOk+feCtvQci5Z8N5JP4tLrGbB0rmP4fzEU?= =?us-ascii?Q?gF7a6btTmZF2vpgk7drg7rNx8RakXxSxeWup9zNWw8hb6q3sfHiADju3dqjB?= =?us-ascii?Q?79bZ9JnNYTih9zSL2JQqYbL5mkWYZ1rRN+GBOeMtnUJqX0XW6tzOmkbY/i/B?= =?us-ascii?Q?OStaIyzVxr8VyItF6luDN86SvW0QciGUlbcNdjkoWKV+wyOmPqsLvOlAVXkJ?= =?us-ascii?Q?PwzS6nsDNSqUkzXJyOMRF41BPxr8x58Hhs5e/cmcQPgskuw3KFQvVyi3Eszk?= =?us-ascii?Q?4n6Z42A05WwjI8nJEuxrHG9Ry/lcCN0D3TIe+CEdWecbnxQhqHaombC5q1Hx?= =?us-ascii?Q?ASzybTjMjYR6530uuMjJ+mk7su87QyGKILqcTojt3kfwlBFIeA63BF2wjjaE?= =?us-ascii?Q?AVWEnrSCXfp2LXQH+MmfBL6/0OROMwGMuA9E8u2Iu8r6rSx+oMAUNRH9H7Z/?= =?us-ascii?Q?n7ZkruNZU43MTTmI61solPDkpG2OZeHg4H3wnfDI7Ntf/6Eyt9TXbaP4eQEE?= =?us-ascii?Q?+W5uSajOAItkph0m11phawpN6Yd/wErNAjWN7Hw7Up0Td+YbkSP0KcxN1pS2?= =?us-ascii?Q?vPLBPBG1Kp/q3jg+EvXWJnDNMGYytM5kJVxsYlnG0UsQnqE8YB96mTJavvmo?= =?us-ascii?Q?JfngUw9t5S6VNQeRC1uEKHu6qBSy2xc0IrhIZRbQGsfC70cTmBH9B3ddcVIC?= =?us-ascii?Q?vFf8Z9zojqfSVrO9CcGjYaXmyx6HTszunQ790gu0neA+0o8N+TDILef9rLEy?= =?us-ascii?Q?WXB8oN63Z/1S00r6OPsI3o5BBdkQWQ3LZ1gZaeZVNNDEMdTemk2fPMoob0o2?= =?us-ascii?Q?9B7ZMu6ecMw5KFUps/qdMj3jfnx3QQyCjq09N9VGseGH069+NVncc3KOfRnl?= =?us-ascii?Q?Z1pSbp7b+03kBW0wZ5FGQ1+d3TedU9LQZ/xbIECAsTcOuM9GrMJleWRr2yx6?= =?us-ascii?Q?qLQjFRGrXg6shXZ8wsZwxOME19zFy6ATKrGGlh8QEWHJztnh9YU1xn/lAadY?= =?us-ascii?Q?9SzESAK5/tyNTDtT5KrOdhu2HD3scoUSIgkvwZlI?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: t06IBatUkcbVl7TyNgy3JN6SgToh/nrQk+jGnBM/neISeLFEC6Ds7uwDAl5Ox22RTBUwkKdEhKIuXLAMbiAM0kVpTShF8f6HMg0GZLBNh1dYOz99/9SPMvcPxJrHC2Gy2/UBNOOSVZujy3EQkvVYDDi5XOp0ph3GXliJmrK1JSqjJpsw4RyFk8oJ4vnVSfa43AK2U6YNwe5e8fCI43Wn468XysB5HwTd0aBy775OUOe0Zhhf641CLWWB9scUWSyDXNZFpwhA+jNWpsutRwedWL6yPCsq2tqQ818mbpr1wrVQgVlWwklo+wziszS1oCCTAeHDMsL2Wqx5hYgoSIwsRp1bp8mS9Ltk8Wl4ktIBviANeDiE7nAUrCeZ+dxmfqY9lVpEOcr3ZomPGIqeaSCTbdkfDE4b+tvpDBPp8oFhBufdTr1jJAx1KHnE4WmW1/WGH/MCNRzqSXof+1chIxRyTHh1f+CNqAaWV8i9LF5lXcK7YLFKspkflgOG/BhJZ7I9KP8htNGeVHOyemLodc72zuF1E/WSntAfapAaceLY/lWMFEfDLupZByktdaREDJZB+9diO3RTxQhqCbb7Ls822BkSzvZEHca3HdNdHo3GcPY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 185e2d45-4fa4-498e-c67d-08dda16a5a02 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2025 00:13:50.4571 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bOJNvRGYH79bahKjlTrwnyguOTCDO4Ete8defGDFW/IijBD70kZDvnVHBqFhpO/evl257wftgtojQbuYe+tlBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4825 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-01_11,2025-05-30_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506020000 X-Authority-Analysis: v=2.4 cv=Jdu8rVKV c=1 sm=1 tr=0 ts=683cecc1 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=g8P1WwzdoEl4h-rDp-sA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAxMDIxMiBTYWx0ZWRfX7rJ3EslgOk8v /FOABxQOsQ/J8tP/O/87R+XLNIid7qKUcuV424dOxX1fWrQJh7FZr+izdLNqgeTfdKd4bodbPnx HdzkIClm7/+Ay392EMwfi6zFkDmytXY885gks6f/u9UoXou4SHOv28GaiByA0tPJn/OnCV+ERso 6i+GUxNzNM8odqFhoqTn+qhQ93QHLuh5bALz1aYdRYrEwhw7dZh/Ew72ibCQRNEd1mAmbwoq9CN dKEMThUqPb3WUdESC9htshdyytVesKF2EWz6HIvIc4mJto7+ZwbHS3vZcFV+FQOwMuNobA3xjBq G0chnzRK2AtEtgMm1pNkBj95WEHHQ+kA29k9pxOGC1VLORk5ZvjFbTZcVMBLVH0UIb2DFviJ2rr 8Xv20KNOnONe3QZTtHTdKDnXg+L29wiZyWOMZ8dCPR2qdioML3LLK2PMLEi2nC/mBh2RAJic X-Proofpoint-GUID: Hb40k6IN0kSTuKnhlMCTizJMppB5k1QJ X-Proofpoint-ORIG-GUID: Hb40k6IN0kSTuKnhlMCTizJMppB5k1QJ X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: 78658 Cc: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.7 (--) > > I've attached a patch with a first pass implementation. It's a very good idea. I plan to add it to Dired+ (with attribution), for use with older Emacs, even if it doesn't get added to Emacs.=20 > Ideally, it could find the common prefix, then set > default-directory to it and list only relative file names, > like in the output of e.g. 'find-dired-with-command'. Another good idea. ___ Here's the code I have for this now. If you add the feature to Emacs then the Dired+ functions will just become aliases for the vanilla Emacs functions (in releases where they exist). (defun diredp-get-marked-files-in-all-buffers () "Return names of files and directories marked in any Dired buffers. Like `dired-get-marked-files', but for all Dired buffers." (diredp-delete-dups (let ((dired-bufs (delq nil (mapcar (lambda (d.b) (and (buffer-live-p (cdr d.b)) (cdr d.b))) dired-buffers)))) (apply #'nconc (mapcar (lambda (buf) (with-current-buffer buf (let ((files (dired-get-marked-files nil nil nil t= ))) (setq files (and (cdr files) (if (eq (car files= ) t) (cadr files) files)))))) dired-bufs))))) (defun diredp-marked-files-in-all-buffers () "Dired the files and directories marked in any Dired buffers. Like `diredp-marked-files', but for all Dired buffers." (interactive) (let ((files (diredp-get-marked-files-in-all-buffers))) (unless (directory-name-p common) (setq common (diredp-parent-dir comm= on))) (let ((default-directory (or common default-directory))) (dired (cons "MARKED-ANYWHERE" (if common (mapcar (lambda (file) (file-relative-name file comm= on)) files) files))))))) Differences from Phil's patch (besides the function names): 1. Use Juri's suggestion of using a common ancestor directory and relative file names. IIRC, file systems can sometimes have no common prefix - in which case use absolute names if there's no common ancestor directory. 2. The Dired buffer is named `MARKED ANYWHERE', so as not to interfere with (i.e., replace) another (e.g., normal) listing of the same directory. 3. Use variable `dired-buffers', to check only Dired buffers instead of all buffers. 4. Quick check of marked-files list (without `length').=20 ___ FWIW - Dired+ has long had commands that act on all marked files & dirs in a Dired buffer, and all marked files & dirs in Dired buffers for marked subdirs,... defined recursively. IOW, instead of (as in Phil's feature) checking all Dired buffers for markings, such functions check only the current Dired buffer, Dired buffers for its marked subdirs, and so on recursively. Applying `dired' to that collection of marked files & dirs is only one possible action. In general, all of the usual actions for marked files are provided (by separate commands). Phil's feature is a good addition to such functionality. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 02 12:23:43 2025 Received: (at 78658) by debbugs.gnu.org; 2 Jun 2025 16:23:43 +0000 Received: from localhost ([127.0.0.1]:53509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uM7ws-0007gH-Uc for submit@debbugs.gnu.org; Mon, 02 Jun 2025 12:23:43 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:22978) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uM7wq-0007g5-4B for 78658@debbugs.gnu.org; Mon, 02 Jun 2025 12:23:41 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 552C4hq7025585; Mon, 2 Jun 2025 16:23:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=TCnqaV32eYXVXWpTNBdnXZ2Leex6y5R3+We4ywkqmMc=; b= PLIsCGNuL85yIInmW+VTWx9R/wr0oJ4b6MzyR+xU1GbrQXuaiKaQspRTrZ2rkbtG +JgCOQyUTMUSDFeKn1ii0duIskCgK0JRqIC5E3FMJzwS3pLxkbwE8yLYes0p0eat pnO7AfUWwaCrt9R8nPMSW0NMsicS/3LmbPV76c1D94HZQC71r5/aZMSC5DgFvwGk OKgr8fqJYh7Qv8U6Rlnh9pGv101P4vGUCZVGS2cqFc4m9C1mg53aiqN50U+Yxl4h 0DUtxH6DH2TWxOa1OREL2MYpgZ1ZUOEWuaNBqeIWMkerN5TewUGRa3EcbIhF/vfi hjf9ye+lPP65gsv1KDDxuA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46ysnctxbs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Jun 2025 16:23:38 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 552Fd7xo034818; Mon, 2 Jun 2025 16:23:37 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012003.outbound.protection.outlook.com [40.93.195.3]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr78eede-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Jun 2025 16:23:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dbgm/ctDx/T05or/iEOgSv1XKOtbElHzlY74RjKPmsKR2IjxCJFS3OQJht87oJz1Tx/AoOvCALkiTglycC3VlIk74dhGGb4Fx92SAJbRqgqDBcv9hdsS+hMyxvo/M6aE9X+s1bsj7+pM+DAcGSJ+PxE5/OqTwoPiJKoFyepfrJOZd41LR6YzdOnT82k05U+A6TfBj4Z0Qx6xABEBWx9x44qdu2AMIv3xgUWy6LRty2+j1QiCGdDswA/n5opa012DJrwxivWw6673h42mBPwIA1s8E05Tzce2JpBTQ8ApzJky6ijBNB3Aek5ZHNJ3bp8kZpjU7vO/RxJIQRSysGR0gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TCnqaV32eYXVXWpTNBdnXZ2Leex6y5R3+We4ywkqmMc=; b=q31Z7MyiOS8GQ1j/GJAMhLzs9RN3IQl5QNE+Pn8V93ky+qF6IxRerouNdUuLPdLFV+ZG9otMQptzAB5MDpAR8xTmz3vnZ/nolRY+nZQbY54m6AUNvifBESEVf+ACuQB0Ns77IYKSnTl4bIf0WNH5JKzd+OK3coN70MzXssSShHuGTsOD7xkmNlhNz+vrPoae2ewxsEwfPBbv5W4PaRVZoZZoTIDMWHdcxGrcfc+dsCyvU+4634+rPbcN8klGKvmAdvbvza491cHtTuGl1v0xKaAR07uU7bqshjR9mOxZtXd/cgBLrsi0UO+wvAqc2PE1C2NWOOeek13+crwIg94+AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TCnqaV32eYXVXWpTNBdnXZ2Leex6y5R3+We4ywkqmMc=; b=saXVciGXeGTPLEYItJx2nBC5AXVoKq08OfX6NePdliNgWnlPpdGVwtMFZ0GfdxE9bYP7vfzSSxX9RIk+yUt0uXOHdt0hUk7FfoMytDIf8stDA84AE0qE5FK23BgB+htsC6yaxyjxXXRK/kVJveMEoZtuJMCVPclrSO9AgDViIuM= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by BL3PR10MB6019.namprd10.prod.outlook.com (2603:10b6:208:3b2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Mon, 2 Jun 2025 16:23:35 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8746.035; Mon, 2 Jun 2025 16:23:34 +0000 From: Drew Adams To: Juri Linkov , Phil Sainty Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb01M21lMmW3O7QEGlOrnlsYt9f7PwC+Rg Date: Mon, 2 Jun 2025 16:23:34 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|BL3PR10MB6019:EE_ x-ms-office365-filtering-correlation-id: e0f8ad67-d23d-49fb-36d2-08dda1f1d29e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?6jjbd34qPTOgpBKsk+1QKkmXWIymVA34th1WZ/STUrncmLdlSMueKCYMIcqH?= =?us-ascii?Q?iUGTzI4hPe7pH7Xwq1LnD5repxhDue/oLe3PShzHUYuD7g5GgYvbULtAZ136?= =?us-ascii?Q?6+kC/ex+sZ9zdojf+kI5HjAneD3+YraailxPyme7Nb8j039qagGn+VzEAdH3?= =?us-ascii?Q?KLCLzLLP8+8RFEM2H7kxcT6lZXMy4R9jOahg2APxmbcwSOfPio7vEZ6CkLPY?= =?us-ascii?Q?ZHS9i1cf0n1sfSYoSCEGWExJeaRrDMRYneMEhz5h0uodPU7nVBiWZZg7G8Nb?= =?us-ascii?Q?A5TonOuszgHHHXkXo+sjRTR6Fd9B1sZsx/1XqUDjjEkq5cFqC0Ol498NQ7Oy?= =?us-ascii?Q?5WazuxzX9quiwa61K0VsQcREH7PF1frm7ZaBirKou+6YwfrlumpbNstREMpt?= =?us-ascii?Q?lWG1S5S6gQn8HMm80J90/nLuzffKmsSxIZTUYxrlQ5zGRZrNgIbnys6WN6yq?= =?us-ascii?Q?xfE8ly3EG+Qx3iX667H4zMKcsWBSyIKOTKLYN99FN6WbCKbtsyrLfuRWudSP?= =?us-ascii?Q?RvZFH4Gflbakb/2AcX/XzcmSFFbTfDcCD6+NxzRV3MqFXuaBbz14HR7AAPvU?= =?us-ascii?Q?SnuC7LPtZUMFfdyQYeD0b0lK0hc0w35uAdDooiF2wgdaiINuM6Vr2QTCaU9y?= =?us-ascii?Q?eViLNi9GQf4yiZtuDh9QQfNtpfQcZ5KhCF0hpN2VnTMsjhvIQ9OrjNRAUP+w?= =?us-ascii?Q?nhFzhzrb2BPQcAJ4kk1nbvkdfVv2mPhhmMPxOI+oSMWcY9lL5Ioin4KQI0bE?= =?us-ascii?Q?kqoCTk9LpAe0umLztnzUJVqYyw3q2gByw7CL40vXdCNqtDWmy4pZ0wR01gOW?= =?us-ascii?Q?INb61gNQlWKwyQPPGVR+n/nQfc69SA+YXtK0Vr9veFyxtXACqW1RhrPGp2Ws?= =?us-ascii?Q?Q25Za9KScyXwYFxVrt/bGdLO2ZO5sCOfzNzBNEKYX9jgl5DDXIralNBc487c?= =?us-ascii?Q?mQ3ZScIf9eek9o0QfepQb4C7GmjjrigIQBHbjGWs4Abr0MfxJu9prdYhG88U?= =?us-ascii?Q?HPGKc5zFvfL2GrvKI3r7qv5oyPGMSiOSa5HV0+BWaDLvwdW+MQhY4plNyM/T?= =?us-ascii?Q?OOK1kjLpx4pYjdm7KiS7QAP3rl1Szl0eJ5QspUd96fI9/THwI9Vfn3iMKoGq?= =?us-ascii?Q?ZYRc2TtD6JGIOQRf9RMSwtO/zaQZe0fV2Jb9ZXOSZB6T8Gq5S6o3O0E5YkYs?= =?us-ascii?Q?Hw7nHOPEJrGasNiAxAIcC9BM4hEgjLdfc69a7/gEWIpf89T+ayKHuH24eNyE?= =?us-ascii?Q?FuKhl65s6ogq0BoFbPhMpd8mS8r2XGthH2SXnZU9P7MiW5kvUE6oTMLTRQao?= =?us-ascii?Q?Y4si2tVvNcQQkePAuzDDyX4j6I1my+EkHvqXf4KTCyR5XxFdWSVSgpdic93f?= =?us-ascii?Q?xvJCPWNG7qbrKHZmJGMJk7FFyojV8EjzbXX9ypuGgLrp8JjnL2VSqPHcRrs1?= =?us-ascii?Q?RNmbtEXFxccV4cK3EKp1jXKFYg4YvQ8ghxi3BYSnj4+Bmd3zC635Q1Qhyfcl?= =?us-ascii?Q?N05SaWQTRwnO56A=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GnjV++uLEW3744DTyqzho4WQDh+i2NvuciGRc2ARTtRzB2uMfahbIFzK/Cu2?= =?us-ascii?Q?rF9Iny9tzonBhxo12HNX9J58/AijjehrEmK2MvyWJ2hoVCRButzKpNv6/4zH?= =?us-ascii?Q?Y9T7N8x68nlHLusXTBil+LnipVH0cYvZcneqLTStZyaeAmZ9WXyw5yYmhyGE?= =?us-ascii?Q?dlWMj1J/W1jSAT7D7pVnQYhU34NRWUZs6mcKHBJrtgDWTNmEGS8sI+JZjF+4?= =?us-ascii?Q?qJjyQvXuHQiwJscNJW5DWGTasXjZt9cNHyZD6q1X4SoUjrCkMp1aOB2xGxkQ?= =?us-ascii?Q?r09mFOKzsFwejF2a++Jzk9tG/mN6hQQMXrWGq9O7eigWlRklhC3Uk8T+2t1a?= =?us-ascii?Q?4yTD44Nd+6RT8j8xDfnbzLlfwYzYJayiRP4MOvkk35DQ2DEHjw+Ir9Sc5Pgx?= =?us-ascii?Q?7PIQasZJH42BdsoxhEtfox2Kzj95xeT0Y73qBBOcTHnxQFlgsm5QGGcd+FCW?= =?us-ascii?Q?Bvf5REBjDJwwwU2qZnV0WeOHEsUOqjUrE4M+c+lJ41rGypOk4rWnIPyv27w1?= =?us-ascii?Q?dDMwMsKg8yS0V8AOSbO/N/bCdzFwEMpRRTKwjui2r7Cyc2wq2CNL1LPigUt3?= =?us-ascii?Q?jePA8PKEOTBnvZJCyja2+hgUETDZ4KpshZF7RhRKmcDd8R+7JCbuvq4k6C0v?= =?us-ascii?Q?nH5pYLoNYiCbZ4geq94bDf6vyxqI4rRw84+uI1JkrQ/jrJ0ed1KohFbKYtab?= =?us-ascii?Q?o3a81q9xZvOEgIR97Z5dWHBcv+DNVGN9sipHiZ1Tvltce8RuKh7GDQWh13Ll?= =?us-ascii?Q?RimbnKJv9MEAuyIGkAAbRbRptPvdcpk/JwA3U4zSZX9v+SE+NcQ1Qe3ef2B+?= =?us-ascii?Q?C7dzfN23V6Fo0fBKtFkVc59WbIcQU8eC4lKRBzuywd5r9Zqxd3YNCzqX/oqT?= =?us-ascii?Q?repOCJZVJOcUFpZgjgGAhCob8DqxLzBVsEAe5/snP7YrgU80vL6x/OCZuk3i?= =?us-ascii?Q?Dhq60TFIXLp2qu8DFnkodajn56Y1Xf4lyuGwfYT8YapQgPyWpTAv2Bpc9WWG?= =?us-ascii?Q?gdZDNrqNS+TIj5umw7iGbKttBlaXAHV0yAtup4BxsRfxeqSfK9q4/yIGvCyV?= =?us-ascii?Q?AKzh1t6FRUTicYtjwy9xkm8UP3KbfhTW1wWrXiMWWSHaV1MCjYoW/kj1eQ6i?= =?us-ascii?Q?ALpEJ3ako7Bg7v3kzvNP+twuUYKNAq09MOc3lYCGmj56zXc+nQgZQ+X/wCBH?= =?us-ascii?Q?AQV7byRW0XRH3YOjjAO6/ZBm/ORS+wAz9sdHIUM/Xj+1MbNqH3r8pRhUjR52?= =?us-ascii?Q?/DQaLZ2HfDNDi2PuXnqzkcbZIwCzVk2km6JCSMnwX/0rWw194tqkcBG7fIpt?= =?us-ascii?Q?nQJIMxXP71lsUhT+a8b1f0dUkNYJ9oc38Itme7/mRemHqUyQxe7tYo0en+vu?= =?us-ascii?Q?8YLqVY5L0+4P58d9fakRCdQAl4AKY5Dorsv6MU5H+GqadVQjCdQWfyt2jQzh?= =?us-ascii?Q?X0Z+0NimPEmMkkB6N823hp6Acs0LN6pr6wmwMFzTz/Gc2jYDJWHEMBkh6J6C?= =?us-ascii?Q?CTM9dX6rkWhy22lRE/bEN3k2pALFtQo/VV6VMuloKxL30QT1h9G34/KVorMy?= =?us-ascii?Q?IpTg47vnhCICpLHZmE062ZgLDB9urtOf96vvMJ69?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: OCRGgRe0rK1HYqwxDpUIExIbj+dhpASe775EAgkTVU2Bg/BKBrQsfozk9NPr+Vn+57FWnMD3XrKrVR8cjUBPFxbxa0cGYiLJlLK38822jAPUZJrYcmO0OYMSqAKZ6pcENlYoOD60ja6JVNVQuJU+KP/YpQBGYFoIAbk0l6w/OMjfHypG+5rTkUWycfe1gxVJmG+Bo8gDdLv7o/qKX9SIG58UoJxKzwFmcSwURgVfhGKwtBMtCljXAwhx1oVg/TsGYTbfNqqwQb3Nq8i8PdIypUzV/7alqKnfihD/sbLX9To06vKJCViCeLY9ip7e++5KaH7Jo7pov+ngazXM0e7GeNHmKKg3HnXNjDiBcy2IGTKbck65vXSd8tp3DGFgvT7GS8PTKxXVfx1Jd1c9lHNaTLIjGwjPxRcRP8ZgTiG1Nozvc3pg1SiHw0bYlSrBbj30dts1qJHUJjz+uLkHbUYOSRC4vw+2YA/OmI/zGUEit5iQy4gnx+Bz6SBaHJhGjgrdBYsSrmHtzmM64lbxkv5DLH3ye8k4BmJfnRtWF4ZcNjrVDSUc2tkDizpe7gmD9oXUOCO226QVFjai3SQsBsKlnRMFUUGreMzr9UuWuC2Gfxo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0f8ad67-d23d-49fb-36d2-08dda1f1d29e X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2025 16:23:34.8969 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KhM7MJzlfOvMzEPqtEnjlM3nudE58aQWHRqEhPTipIK9QIweu4yBDngL/Jy1eJ7MI+hvrHeRyjGGZbzh+/jNIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6019 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-02_07,2025-06-02_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506020133 X-Authority-Analysis: v=2.4 cv=Jdu8rVKV c=1 sm=1 tr=0 ts=683dd00a b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=ya5mUKZxz8ZiUTrtiVEA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAyMDEzMyBTYWx0ZWRfXxClKpaNxNLcH pzTCUyhvOfD6gMVuBEUorBF3H/C/9gay2plEUHytnn8NLgRSvmZRUUJHhqpG60kR1C522hQ35iP laL5d5JsKiptOTFlS5aF9pyUiI1YJgaTkeMU/8/oBnPU2/O3bqxXOvm2IeIVvBFCrVFUSJWUEpQ PGoGTjJG4wW2N7UwbJq/f8pMia1NxzNO1KmmBYgsdGza1FnAqP0e2D90RQgwLTq35A1qLsSVzph fbR+iaXNVFqR2TClA/gO/vAxs4YAk19LzN2pI7RviT6zQBivZAW8C4EQDsnbfagVFTHx2viOtpJ 64jd87/0O9FIHBeM4zWIosaMfpKuesazhJTJ2EwGAPadqtxYqLI7mZDevUTOBGnWWqe/1yjOyg/ cvInvX0uvdkEr9vJuYrWsCqrjAw1hhYfTPjJdi7Xap/47fD16gYshq0FeOm6IZ7eDKanfQKx X-Proofpoint-GUID: ZiIS5i67iqAJtEGbwVykjDVlhTdUjrW3 X-Proofpoint-ORIG-GUID: ZiIS5i67iqAJtEGbwVykjDVlhTdUjrW3 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > (defun diredp-marked-files-in-all-buffers () > "Dired the files and directories marked in any Dired buffers. > Like `diredp-marked-files', but for all Dired buffers." > (interactive) > (let ((files (diredp-get-marked-files-in-all-buffers))) > (unless (directory-name-p common) (setq common (diredp-parent-dir > common))) > (let ((default-directory (or common default-directory))) > (dired (cons "MARKED-ANYWHERE" > (if common > (mapcar (lambda (file) (file-relative-name file co= mmon)) > files) > files))))))) Typo - somehow I omitted some lines. Should have been this: (defun diredp-marked-files-in-all-buffers () "Dired the files and directories marked in any Dired buffers. Like `diredp-marked-files', but for all Dired buffers." (interactive) (let ((files (diredp-get-marked-files-in-all-buffers))) (unless files (user-error "No marked files in any Dired buffer")) (let ((common (try-completion "" files))) (unless (directory-name-p common) (setq common (diredp-parent-dir co= mmon))) (let ((default-directory (or common default-directory))) (dired (cons "MARKED-ANYWHERE" (if common (mapcar (lambda (file) (file-relative-name file co= mmon)) files) files))))))) And it would be good to let users optionally name the resulting buffer: (defun diredp-marked-files-in-all-buffers (&optional buffer-name) "Dired the files and directories marked in any Dired buffers. Like `diredp-marked-files', but for all Dired buffers. With a prefix argument you're prompted for the name of the resulting Dired buffer. Otherwise, the name is `MARKED-ANYWHERE'." (interactive (list (if current-prefix-arg (read-string "Resulting Dired buffer name: ") "MARKED-ANYWHERE"))) (let ((files (diredp-get-marked-files-in-all-buffers))) (unless files (user-error "No marked files in any Dired buffer")) (let ((common (try-completion "" files))) (unless (directory-name-p common) (setq common (diredp-parent-dir co= mmon))) (let ((default-directory (or common default-directory))) (dired (cons buffer-name (if common (mapcar (lambda (file) (file-relative-name file co= mmon)) files) files))))))) From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 07:38:11 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 11:38:11 +0000 Received: from localhost ([127.0.0.1]:32795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMPy6-0004pX-8w for submit@debbugs.gnu.org; Tue, 03 Jun 2025 07:38:11 -0400 Received: from smtp-1.orcon.net.nz ([60.234.4.34]:58437) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMPy2-0004ol-BJ for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 07:38:08 -0400 Received: from [10.253.37.70] (port=43116 helo=webmail.orcon.net.nz) by smtp-1.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uMPxt-0005om-RQ; Tue, 03 Jun 2025 23:37:58 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Tue, 03 Jun 2025 23:37:57 +1200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_b5f58ad78e296adfc42b343c80a993c0" Date: Tue, 03 Jun 2025 23:37:57 +1200 From: Phil Sainty To: Drew Adams Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> Message-ID: <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) --=_b5f58ad78e296adfc42b343c80a993c0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi Drew, Thank you for: > (let ((common (try-completion "" files))) My brain had failed to make the connection between "completion" and programmatically obtaining a common prefix from list of strings. It makes perfect sense in hindsight, but I'd simply never thought about completion in non-interactive terms, and was surprised when I hadn't found a documented function for doing this (but I wasn't looking under Completion at all). Eli, I reckon this is worth either documenting somewhere under (info "(elisp) Strings and Characters") or else creating a slightly more string-centric wrapper, something like: (defun string-common-prefix (strings) "Return the largest common prefix from a list of STRINGS." (let ((prefix (try-completion "" strings))) (if (stringp prefix) prefix ""))) (And I now notice that the string shortdoc group *does* include `try-completion' -- albeit without an example of using "" for STRING, which I think would be a good addition.) Regarding the buffer naming: >> (dired (cons "MARKED-ANYWHERE" It hadn't occurred to me that this could be something other than a directory path. I definitely agree it would be ideal not to conflict with other dired buffers, but I've seen some some oddities from doing it that way. E.g. after creating that buffer, I can't obtain it with: (dired-find-buffer-nocreate "MARKED-ANYWHERE" 'dired-mode) but rather I need to use: (dired-find-buffer-nocreate "/path/to/MARKED-ANYWHERE" 'dired-mode) for the file path it thinks is relevant, which then has some possibility (albeit unlikely) of conflicting with a real path. And also (for better or worse) the new command can create extra MARKED-ANYWHERE buffers under different paths. We could further reduce the chance of any conflict with an actual file by choosing an even less-likely name; but perhaps there's a cleaner solution. The version I'm currently playing with is attached. I haven't tested your version yet, but I've grabbed some of the changes from the code you've shown. I've split out a couple of extra functions which felt useful on their own: `file-name-directory-common-prefix' "The nearest common ancestor directory for FILES." `dired-get-explicitly-marked-files' "Like `dired-get-marked-files' but always returns nil when nothing is marked." -Phil --=_b5f58ad78e296adfc42b343c80a993c0 Content-Transfer-Encoding: base64 Content-Type: text/x-lisp; name=dired-on-marked-files-in-all-buffers.el Content-Disposition: attachment; filename=dired-on-marked-files-in-all-buffers.el; size=2186 OzsgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCgoocmVxdWlyZSAnc3Vici14KQoKKGRlZnVu IHN0cmluZy1jb21tb24tcHJlZml4IChzdHJpbmdzKQogIChsZXQgKChwcmVmaXggKHRyeS1jb21w bGV0aW9uICIiIHN0cmluZ3MpKSkKICAgIChpZiAoc3RyaW5ncCBwcmVmaXgpCiAgICAgICAgcHJl Zml4CiAgICAgICIiKSkpCgooZGVmdW4gZmlsZS1uYW1lLWRpcmVjdG9yeS1jb21tb24tcHJlZml4 IChmaWxlcykKICAiVGhlIG5lYXJlc3QgY29tbW9uIGFuY2VzdG9yIGRpcmVjdG9yeSBmb3IgRklM RVMuIgogIChpZiAoZXFsIChsZW5ndGggZmlsZXMpIDEpCiAgICAgIChmaWxlLW5hbWUtZGlyZWN0 b3J5IChjYXIgZmlsZXMpKQogICAgKGxldCAoKHByZWZpeCAoc3RyaW5nLWNvbW1vbi1wcmVmaXgg ZmlsZXMpKSkKICAgICAgKG9yIChmaWxlLW5hbWUtZGlyZWN0b3J5IHByZWZpeCkgIiIpKSkpCgoo ZGVmdW4gZGlyZWQtZ2V0LWV4cGxpY2l0bHktbWFya2VkLWZpbGVzICgmb3B0aW9uYWwgbG9jYWxw IGFyZyBmaWx0ZXIgZXJyb3IpCiAgIkxpa2UgYGRpcmVkLWdldC1tYXJrZWQtZmlsZXMnIGJ1dCBh bHdheXMgcmV0dXJucyBuaWwgd2hlbiBub3RoaW5nIGlzIG1hcmtlZC4iCiAgOzsgUGFzcyB0aGUg RElTVElOR1VJU0gtT05FLU1BUktFRCBhcmd1bWVudCBhbmQgaGFuZGxlIHRoZSByZXN1bHRzLgog IDs7CiAgOzsgRklYTUU6IEVpdGhlciBkb24ndCBhY2NlcHQgRklMVEVSIG9yIGVsc2UgYWN0IGNv bmRpdGlvbmFsbHkgd2hlbgogIDs7IGl0J3MgcHJlc2VudCwgYXMgd2UgYXJlIHBhc3NpbmcgRElT VElOR1VJU0gtT05FLU1BUktFRCBiZWhpbmQgdGhlCiAgOzsgc2NlbmVzIGFuZCBgZGlyZWQtZ2V0 LW1hcmtlZC1maWxlcycgd2FybnMgYWJvdXQgdXNpbmcgYm90aC4KICAobGV0ICgoZmlsZXMgKGRp cmVkLWdldC1tYXJrZWQtZmlsZXMgbG9jYWxwIGFyZyBmaWx0ZXIgdCBlcnJvcikpKQogICAgKGNv bmQgKChlcWwgKGxlbmd0aCBmaWxlcykgMSkKICAgICAgICAgICAoc2V0cSBmaWxlcyBuaWwpKQog ICAgICAgICAgKChhbmQgKGVxbCAobGVuZ3RoIGZpbGVzKSAyKQogICAgICAgICAgICAgICAgKGVx IChjYXIgZmlsZXMpIHQpKQogICAgICAgICAgIChzZXRxIGZpbGVzIChjZHIgZmlsZXMpKSkpCiAg ICBmaWxlcykpCgooZGVmdW4gZGlyZWQtZ2V0LW1hcmtlZC1maWxlcy1pbi1hbGwtYnVmZmVycyAo KQogICJUaGUgbWFya2VkIGZpbGVzIGluIGFsbCBkaXJlZCBidWZmZXJzLiIKICAoZGVsZXRlLWNv bnNlY3V0aXZlLWR1cHMKICAgKHNvcnQKICAgIChhcHBseSAjJ25jb25jCiAgICAgICAgICAgKG1h cGNhciAobGFtYmRhIChlbHQpCiAgICAgICAgICAgICAgICAgICAgICh3aGVuIChidWZmZXItbGl2 ZS1wIChjZHIgZWx0KSkKICAgICAgICAgICAgICAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZl ciAoY2RyIGVsdCkKICAgICAgICAgICAgICAgICAgICAgICAgIChkaXJlZC1nZXQtZXhwbGljaXRs eS1tYXJrZWQtZmlsZXMpKSkpCiAgICAgICAgICAgICAgICAgICBkaXJlZC1idWZmZXJzKSkpKSkK CihkZWZ1biBkaXJlZC1vbi1tYXJrZWQtZmlsZXMtaW4tYWxsLWJ1ZmZlcnMgKCkKICAiSW52b2tl IGBkaXJlZCcgb24gdGhlIG1hcmtlZCBmaWxlcyBpbiBhbGwgZGlyZWQgYnVmZmVycy4iCiAgKGlu dGVyYWN0aXZlKQogIChpZi1sZXQqICgoZmlsZXMgKGRpcmVkLWdldC1tYXJrZWQtZmlsZXMtaW4t YWxsLWJ1ZmZlcnMpKSkKICAgICAgKGxldCogKChwcmVmaXggKGZpbGUtbmFtZS1kaXJlY3Rvcnkt Y29tbW9uLXByZWZpeCBmaWxlcykpCiAgICAgICAgICAgICAoZGVmYXVsdC1kaXJlY3RvcnkgKG9y IHByZWZpeCBkZWZhdWx0LWRpcmVjdG9yeSkpKQogICAgICAgIChkaXJlZCAoY29ucyAiTUFSS0VE LUFOWVdIRVJFIgogICAgICAgICAgICAgICAgICAgICAoaWYgKHN0cmluZy1lbXB0eS1wIHByZWZp eCkKICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzCiAgICAgICAgICAgICAgICAgICAgICAg KG1hcGNhciAobGFtYmRhIChmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c3RyaW5nLXJlbW92ZS1wcmVmaXggcHJlZml4IGZpbGUpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmlsZXMpKSkpKQogICAgKHVzZXItZXJyb3IgIk5vIG1hcmtlZCBmaWxlcyBpbiBh bnkgZGlyZWQgYnVmZmVyIikpKQo= --=_b5f58ad78e296adfc42b343c80a993c0-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 07:49:56 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 11:49:57 +0000 Received: from localhost ([127.0.0.1]:32872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMQ9T-0006MA-20 for submit@debbugs.gnu.org; Tue, 03 Jun 2025 07:49:56 -0400 Received: from smtp-4.orcon.net.nz ([60.234.4.59]:59247) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMQ9L-0006Kv-6E for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 07:49:51 -0400 Received: from [10.253.37.70] (port=44979 helo=webmail.orcon.net.nz) by smtp-4.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uMQ9H-0007yH-LF; Tue, 03 Jun 2025 23:49:43 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Tue, 03 Jun 2025 23:49:43 +1200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 03 Jun 2025 23:49:43 +1200 From: Phil Sainty To: Eli Zaretskii Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <86a56sq9ei.fsf@gnu.org> References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <86a56sq9ei.fsf@gnu.org> Message-ID: X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) On 2025-06-01 18:10, Eli Zaretskii wrote: >> + (dired (cons "/" files)) > > Why "/"? It sounds arbitrary. Also non-portable; use > > (expand-file-name "/") > > instead. Thanks Eli. I'm pretty fuzzy on the whole portability aspect of these things, and have only GNU/Linux systems to test on, so I'm sure I'll get things wrong. Hopefully they'll all be similarly straightforward to resolve. I'd used "/" at the time because the code was dealing only with the absolute paths, so it wasn't arbitrary as such; but now that there's additional code to figure out a common subdirectory (if any), there's no need for a hard-coded value like that. -Phil From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 08:24:39 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 12:24:39 +0000 Received: from localhost ([127.0.0.1]:33090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMQh2-0002Vu-5r for submit@debbugs.gnu.org; Tue, 03 Jun 2025 08:24:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39394) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMQgx-0002UL-WA for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 08:24:33 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMQgl-0005VD-Pr; Tue, 03 Jun 2025 08:24:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=IJe57/XqMBlnfHH41y9V5YXFhGLpjBvd18nOs2OOWGk=; b=RTa1KohpFBkT pxOh43ppfzqxFhjgtqiiVkOcpTl9JWbQHivjDOd7+xG5BW4R8xlbGKksxTuPHQBjuZ8z7r6CFjtBU BD5rXuairzsuODYssPe9yG3vWM6Oro4hJEu/tEacJMT4LcK+Mfxwwf+mvQpD1WfrXRQcPF65X1fzw MFy1nX4akNik29ug1nT1QHDsI9QUBC+cObzjwizdBalAHfWQezH4cs7ajwAkAbai2wq+EqZvBwC3Z 5Qk4KxR4cuQFNKZ5rdvJs9AXpf0/48vZLF3dDnr8UmLMgfTCAVDtw6jOqOUSppwKek/LHde7dMmKw 1GtFqMD9q8mpP8QkLKTpAw==; Date: Tue, 03 Jun 2025 15:24:15 +0300 Message-Id: <86jz5tnhcg.fsf@gnu.org> From: Eli Zaretskii To: Phil Sainty In-Reply-To: <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> (message from Phil Sainty on Tue, 03 Jun 2025 23:37:57 +1200) Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org, drew.adams@oracle.com, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > Cc: 78658@debbugs.gnu.org, Juri Linkov > Date: Tue, 03 Jun 2025 23:37:57 +1200 > From: Phil Sainty > > Hi Drew, > > Thank you for: > > > (let ((common (try-completion "" files))) > > My brain had failed to make the connection between "completion" > and programmatically obtaining a common prefix from list of > strings. It makes perfect sense in hindsight, but I'd simply > never thought about completion in non-interactive terms, and was > surprised when I hadn't found a documented function for doing > this (but I wasn't looking under Completion at all). > > Eli, I reckon this is worth either documenting somewhere under > (info "(elisp) Strings and Characters") or else creating a > slightly more string-centric wrapper, something like: Feel free to suggest patches for the documentation, but please remember that results of calling completion functions can depend on the completion styles in effect, so if we want to advertise this as a way of producing the largest common prefix, we should probably bind completion-styles to something specific around this call. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 12:53:43 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 16:53:43 +0000 Received: from localhost ([127.0.0.1]:40858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMUtS-0001ED-Jq for submit@debbugs.gnu.org; Tue, 03 Jun 2025 12:53:42 -0400 Received: from mslow3.mail.gandi.net ([217.70.178.249]:35385) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMUtP-0001Dh-25 for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 12:53:40 -0400 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by mslow3.mail.gandi.net (Postfix) with ESMTP id 660DB58088F for <78658@debbugs.gnu.org>; Tue, 3 Jun 2025 15:38:54 +0000 (UTC) Received: by mail.gandi.net (Postfix) with ESMTPSA id DF4B4439AF; Tue, 3 Jun 2025 15:38:52 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> Date: Tue, 03 Jun 2025 18:23:22 +0300 Message-ID: <87o6v59cgt.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdeivdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddtfedrvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdefrddvjedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopeefpdhrtghpthhtohepjeekieehkeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehpshgrihhnthihsehorhgtohhnrdhnvghtrdhniidprhgtphhtthhopegurhgvfidrrggurghmshesohhrrggtlhgvrdgtohhm X-GND-Sasl: juri@linkov.net X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) > Dired+ has long had commands that act on all marked files & dirs > in a Dired buffer, and all marked files & dirs in Dired buffers > for marked subdirs,... defined recursively. > > IOW, instead of (as in Phil's feature) checking all Dired buffers > for markings, such functions check only the current Dired buffer, > Dired buffers for its marked subdirs, and so on recursively. It would be too tedious to mark subdirs, so it should be sufficient just to check all subdir Dired buffers. That would be useful for the most common case of running this command from the project root dir that will collect marked files from all project Dired buffers and show the file names relative to the project root where the command was run. > Applying `dired' to that collection of marked files & dirs is > only one possible action. In general, all of the usual actions > for marked files are provided (by separate commands). When all marked files are collected in one virtual Dired buffer, then it's easy to perform all other possible actions from this buffer. > And it would be good to let users optionally name the resulting buffer: > (defun diredp-marked-files-in-all-buffers (&optional buffer-name) > "Dired the files and directories marked in any Dired buffers. > Like `diredp-marked-files', but for all Dired buffers. > With a prefix argument you're prompted for the name of the resulting > Dired buffer. Otherwise, the name is `MARKED-ANYWHERE'." This is quite an ugly name, but the name pattern could be defined by a new variable with a value like "*Dired Marked %s*" where %s is replaced with the default directory. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 15:47:09 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 19:47:10 +0000 Received: from localhost ([127.0.0.1]:41864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMXbE-0002hi-Cf for submit@debbugs.gnu.org; Tue, 03 Jun 2025 15:47:09 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:8552) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMXb3-0002fy-0J for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 15:47:00 -0400 Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 553HY2na014218; Tue, 3 Jun 2025 19:46:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=GwuxtK2KPAnGBqVFa2dkHZSzxACA3s6NYhAi7ETAUzA=; b= JXAGW9VuZsk2r8kygl88Bsw7By8DYPcOt6Dk++i/6Y4xdjzUX9xd48qd4CXIwYYq /zeHMX05c+amSA99FKy52r8NWK91h3IhX+tIYJ/HiFs9vw0NTkJ+V1Hgijy1KHhn nWRGdqNGp8YizUMPHN1BtCqUGydFsZPcIlW/sNMNYnaXZdcExDbcsycVaPD8wrZi JjL9bJ7lQlunoJJ+1GLAERs4343x/sU6qYSXWaOM5ynfe44JSuh3Srmv4Gy3M5Dw C0R1rfsujk6UH6AGRLqJjmk15xs9eNMDyv3j/TkjXmPH1JGILKX6SIY0OaKOrQSz ktic0PNQW1DQkho8j/OIug== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8bjmj0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:46:50 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 553IiuXG035106; Tue, 3 Jun 2025 19:46:50 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10on2041.outbound.protection.outlook.com [40.107.93.41]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7a3sbw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:46:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LdWC+V0DWFMABYL2cqLRumSSc75NdD9TaqYba/ScWQoLehSKc9VtT0Jav8EG/r5sl9X0ZJ5VExT7DcwhbTpV0mqgP7zoiaFMNdFydDSuUWEU0OnEo/QNKc06W19rQ0Pcn560Qk9LRCUbCj2Meg86S/HMflUg4FFkz192Zk6lQ/rmZ/8Zbg9E6vmfKtKM4ue7TpqwVacCBTOVYRyJZvVWBWfuOglV6AnEfEJrZ+KjhySbCW/SkB/hlX9+UU13hSv7ntIr3C1O22FHnv27729anBGBDB1bCm/z4JPaY6QVLkLd4tv13s+rzZ7B5kPleC5DU/qWwKVJJiIqLfpCjV4ncw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GwuxtK2KPAnGBqVFa2dkHZSzxACA3s6NYhAi7ETAUzA=; b=lAdEoEfAYvigB+pCKJByJvTzSke/xrFuMMRmVJ7IvnP2+8mg5WHkIFhK6xL+nKap2bTLsCd32PHUCF1E38nUxDUQPsaSR1fKdMw2Xd9CiaCyH5KAlUkg2E6WtTP92+g4lZ8IR2gkcHA8109t1eynTNJc1Z89W6Il+FUCTSgGHyBvhJPvNPwoydCk3B58eBOBr9wNcBe9pZcnwWHDJolV3g2IH1zsv9gmAltK8XF3Kjo9Mu8WO1OTQROLTO00GMY8V/c1WDdWr64mlf4YD3Xgg40PD8grvNO1A2z4+dVV1PRL7l8Cnt3f5Ke7jjQejA0V+sHpYlxDW3HWGHZwNnBnog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GwuxtK2KPAnGBqVFa2dkHZSzxACA3s6NYhAi7ETAUzA=; b=zNtqTSsj3CXdPIukb4m6kjVw9tjheJJLqDAZA+BiQG+VKalyRvjjxGc/5kdJkFDKzigpBGpHk8bYpcIhiSvObe9yJaDjhF/wsq2b21vxysjE+XXBjvSdan1DjVqS5MZNQZe6F9nKic0l4ujNNRQQkm6kiet4XbjgtfB1Rs5uaU0= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CH3PR10MB6857.namprd10.prod.outlook.com (2603:10b6:610:14a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Tue, 3 Jun 2025 19:46:47 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Tue, 3 Jun 2025 19:46:47 +0000 From: Drew Adams To: Phil Sainty Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1Hvz1lMmW3O7QEGlOrnlsYt9f7PxhhzA Date: Tue, 3 Jun 2025 19:46:47 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> In-Reply-To: <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH3PR10MB6857:EE_ x-ms-office365-filtering-correlation-id: 5ca03552-51e0-489d-8f11-08dda2d7605d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?YjJTfwTcjr8RzrGxE01bXDZOPzcahfNmQt0eeBfLXbEEbkOMGQn9vPFxaPkV?= =?us-ascii?Q?wXP2BPdigGj8PJLmEwr+1mlJnKhJnbBvlvJASQZxgcx7JBmL6KCqIzajk6Td?= =?us-ascii?Q?3zjsMUU7boOPnr329DbzMSzHmW3e+NHj+XDUGFXWVz1Mxgwx0IZc3fqAF3HH?= =?us-ascii?Q?vOtldkZF3VgkdWKPtYIX2ymkdS13B9vNOWS1WcRW3L80UbH2R2B7898Apc+7?= =?us-ascii?Q?SBraWITkRyKkJUysENxhNM39ICf8kF5kZ88jdu5tpafRbrLeoTNfXiDLXC6Y?= =?us-ascii?Q?bL7IK0XWqC+3flhcEn2XPjVwh1BI5TCZ/PzI87lwKq9batYags9hHFbkwP8B?= =?us-ascii?Q?f8bcXnZSBP4qyEBykyMNWJdSMjOTEPqFgcU1hgAM+/E4nfL6pFO+Ot2wyKbV?= =?us-ascii?Q?VWwk5iGdmn9XDKatKhGqicWTHUTowIfjqufS6L1rcdZwbTOgT6rlDqE4ocvx?= =?us-ascii?Q?qOUtPjI2hr/rlA+nWnw6jw0VKWreQwglxkpMHgI5CiTl8HHOotxCQbiUWJPC?= =?us-ascii?Q?ZBE1RgoONwNRykYkYCZCXBLZNlwIv/8hpEFsTQTB2rlL1+LecCpGGAKotbUH?= =?us-ascii?Q?sMIc+O6l/hQN9beBT0OE89tMGQT8NFIXOfdSQyOhEBIm9AbQcVSb9y73TM0B?= =?us-ascii?Q?XjM5q/r9e7xIKf+ejer8jHbfVoG591HsWY9zOygvnWmTwaPx3OcJuQg95Ofj?= =?us-ascii?Q?F/9QumujDFtxxLJ49gUYTY2b3xIFeOe6pNsoVzK1iuSVVGeKYqU8D9wpDi50?= =?us-ascii?Q?4EBoOdS+jBOT7Vqixj52bA/6AhvSXG8rNsw3QigwsudX/SACyG9Zs/4hHqMs?= =?us-ascii?Q?wB3Se8IX1j8lad+y6jmyiFW1nqHlaZ2iVNFjUCo3oCixs3ChtoM+x/NbdmHl?= =?us-ascii?Q?DOr5fvKPgsDIOVIEgXRhQP4oGqU1pK0e2+DXWrEnbGa6tyhiF2PV0ecUgdJH?= =?us-ascii?Q?W6hURyLn6OAjlqltXnXd75bUYOhN7l+/gOtNj926d8eDnZ4wBGSSWTIDyTG7?= =?us-ascii?Q?0tJ4yF4uFjvBT7MDWRG3KbzMvayUezuiNsUyN+3mA0qZGCOelENE697jg3js?= =?us-ascii?Q?FydQO06E/BoTJAkPw51qMNE+RuN6zBZ/lMrSSCGUULdSbLQhOH4f+Mzi8Cds?= =?us-ascii?Q?W20sOZdstly9HYbhwLEqf+6O1i9o+F96q39rZL6INZCeVs3DwtomdjXPbwRm?= =?us-ascii?Q?0mV+/oSJ5HuAYjLot01jO8imb+lr5Jnn58KOlD10CWnmPrvnUVnXdFESi1y/?= =?us-ascii?Q?76OhZ329p2wBVNpeFV8lmlYoCwHrJehlnsNlDNqAOmk4yqnenYSOhbJRLfEn?= =?us-ascii?Q?79I2OMRMsgQrlpMtA389oJL6pSjhPa+zuA7ZSeL5EVv7HF+i5Xb2OwTtPeDi?= =?us-ascii?Q?nmW0XK4kcJixLfnk89N0K3fiVPyfmcgrBuExqMDjkfGhY1SYLfL/jzmlKSDp?= =?us-ascii?Q?i9duCkgddG3/fAYBuTVsPayl16lX1OTouJs3zGzuT1MdWF+K6u0WayLfiOO4?= =?us-ascii?Q?UNPLZYN5uOcI4a0=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?y6rri74UZp7uJs0/GN89C6Vu+w8yysCa9sEr4RnH5uj4/ReIrm1GjmmrQ+Vl?= =?us-ascii?Q?Gd+nd9/qeUpoh/WXYTBjKYDUesOC1RdK+miwKswHkQEPF3jeZzW3NuY5rtJA?= =?us-ascii?Q?NgujZSyjJuY9ORuiXuRZ8eslSo+rojurUwsWL1nkDdvfC0+HDjfZz9/Bjdeu?= =?us-ascii?Q?HzMxDhciAK6ZaAHAL7p3+11aGxNhGwl3J9XGHfH5eBPitsPXE7p9roefGoYx?= =?us-ascii?Q?pwLYWnsBp0PaF9RHBhnjkqEtBk+sVArsArwiRZJMxXro+nq0GbPSSH3WhnIC?= =?us-ascii?Q?molFWg8SNsuaMGvFwRGn4ZQrZ9KrsG0X5cjofja1qpGuAUtwScsJ7jxgHXil?= =?us-ascii?Q?w0PJtlA8KugZhideFQ61uE5dgkED5cwLlLe7z8FdKJ433vjr0eYZfnzj2Swj?= =?us-ascii?Q?ZpmgMoGH5rCwEeVwWpDQ9YxiCr6h45BUKZ95OJE49txQ+FT8MvdjDqOhfQin?= =?us-ascii?Q?G4gE4Cy1tYqObuhSJ8J1A9Df01zzDvCASp6J464DFh/yNAXI+8K9qUWRZQxT?= =?us-ascii?Q?+bQQ6pcrkLS5Q02DMFuNH8/dPPuKtWjdPCSY711qDxRYVPOXxGz8f1/x7y0a?= =?us-ascii?Q?b0vW7RwRsFftFfeMw78jf5R/Dc+9kPaTsRkRhg8FsUUXcl2svmWXJdzKtlAS?= =?us-ascii?Q?AlUG3TXY9+2PkPKl12N5BA6rFsUVrEaGRwyAub8v5GSSKlPH9wzLE3HAal7k?= =?us-ascii?Q?10iCfvlkaHyg0TDgkfbgJ/S6UlAtkenhqjeGdlEbdqG2kPSKEHBuaJCfs9GX?= =?us-ascii?Q?VidJZFA2PACmdUDwPfSkWDxXAhXbmYXFCPYlhl7S7PnZCwqtvgEgM+tOPe8E?= =?us-ascii?Q?VEOlg1s2jIcyyptiVhZez9ZiEIGNklsYaLal+GVIiwwAAx53OPnZnPW5YCEM?= =?us-ascii?Q?O4BbgeHKEPQaLL5NG2820PDZvlc4+tyH/15ysiWwwHroE447PyfzpHUKrttT?= =?us-ascii?Q?krLSMKwIz99gcHbgAdEKpg2jKDr5oT/WsGoX1jhjaitcAdN4HXqdIX93XLSE?= =?us-ascii?Q?ekTW7dXezHV8WAiQUnRpLT6wtYoKTSjSquzF5YzJ/b1l0vy0Omsb/zFqxOpm?= =?us-ascii?Q?1awzAwnuQhgftsmJLSq4JTz8mR98pq4GolyoYl4AHwsl2f/d4y+OhpOb125M?= =?us-ascii?Q?3AkhxD1rWQhNjWQ9iFg21IaBhmZWwZVzdeTs8+jxPZ6OYsNsfNuehkWFngv/?= =?us-ascii?Q?RFxTyW3V9TofCBiI/vTkiJrEYF5YeKiP8uLuLBL34wDC2TkglcM1HXc/R5Nd?= =?us-ascii?Q?v9Du31sTzDDNxKDZCvI+Jsr3j4mhy6Y773T0iFIhUhiyr4nIgr0rbE1UPdgc?= =?us-ascii?Q?wqI3QDJEbLhZU+PJUps92q93kJTcKD9Cg094Ii2HR60dys/bZH0MoT+KIZxG?= =?us-ascii?Q?4HzZGDm2Pvx4sXYBU5YjOwhfZWQh0a0fqyMKaZ5vdrHGAHO5WinRy4SOz4i4?= =?us-ascii?Q?THnnJQycTK51d5jIqgRZT/2DT6v/x22n6pZStJMaotGNqRWXTcN8M/5PfGLh?= =?us-ascii?Q?YFyMiNsdiSRWtve8uHS+4KlL2AzzYMg8hv6AyQWyfo3xLynf8bimDXPGLPbK?= =?us-ascii?Q?rW+bAebt/ULRQH/kPtt52V8QHMAdRK2oRGGCGg2R?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /l8CXiqHez3IfIx9vmyi2JQR8YixVjuRTRj4P6mtan7gNJ+BwUYlxYxpGSWr0oCiOhXhVu4keN5xOtoNHHnFNmkMj3AcWgKh2JvZHKLUv63J6Fki8sLZ+XqgPIRd3KsVu9oUV0cgm/qmRVM8M41rVpDIqYxoZf5SGixKv8+r9hK9SQWIZXmQlOnVmUua4FOZa51n3FkgTllw9GRes+1d5c81qT1d6saMZeOiJ3T+I+HZxgvR48LIFRdD604MjA462ljWdqPGZMTdJklfITHHzK8j9wji5iXAyGCT9nDMRm8Gic8dZX2yHAT1gtmK8w4j+SHL0agqUSX4X/j7XhUAeDhfXiI0sqIcTnwvM1s+OyQI0+3pOK+NrolG+3dvMTpeqaLsq/8kKH0KiTvcWQEAf0ekFTx7n2Apx171Ss1M2uYzj1izoW6/n7TM7tJWqDP48Sq9uDE6xD424iqzz8X1z4joMzGf23b25NkUI03VVuZR5gOUruOX2yH3AqgIF3EUqOl1b07UtdrDGnKCZRFumcAorLyIeMjOL4D4L8Emk4lr+CGvjhGyHOuvzomf2OHEMVt646vZiE0Tr7emZfoxTbrMhvWwO2kcZLxGO2mzRDo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ca03552-51e0-489d-8f11-08dda2d7605d X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2025 19:46:47.4740 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nFoBjGn9E7H79H/iK7cUYO5mqXeywKXdcgMqKW2dcRWllKboxmvdqAsWpRYn1L7fWENukr+HKYaiHhe73VrlAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6857 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-03_02,2025-06-02_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506030172 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAzMDE3MiBTYWx0ZWRfX6g720Occ0jaA 8GNGMuL2hmfgqzntcTE5QFLQzEpNPtAR62sdqkKzI8JyYm9T0x2RzEyCTfY2hQfunaYvAFAhzWC AdZUJhq0vV3+n/ppNYBJlPlcbBQH3h3AMFGh0ejCPxf3WwqV6enCAHlHw0M/QRlYsasXZkol01+ Y6du9oUDYAgfpXqa2aM3904pctMa2950lAOcCFzaAIC6e5JHxa8vpETEdrS72s5hAlLDjiHqQRK 1XnrD2LVU+Qe8NaX5i3CrPoIURFpY8Q63j8Aoh9+poxeHytj7ZCgWFh7FKQ6ClvTjFbXNs5pb1C cWrF6L5NHnQ1Ly3gzN54tARmjxl2vDDYYMpDvDKQ8bymqKO1SwCmbKSAixAS786rKaXl8xnXlDG 3UPF0uEq+A5AqLZcph1yQSrlSz8rylmpT+fo1MRQYQPuxq0qjR6XAhNYJr5xZSfZh5iwzwu1 X-Proofpoint-GUID: dh6ruTWI3wBcl90Kdtpd3EexC4WznabO X-Proofpoint-ORIG-GUID: dh6ruTWI3wBcl90Kdtpd3EexC4WznabO X-Authority-Analysis: v=2.4 cv=H+Dbw/Yi c=1 sm=1 tr=0 ts=683f512a b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=Gr8m_WOEUi8OK1MTI2YA:9 a=CjuIK1q_8ugA:10 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > Thank you for: (let ((common (try-completion "" files))) Thank you for your great idea, Phil. > My brain had failed to make the connection between "completion" > and programmatically obtaining a common prefix from list of > strings. It makes perfect sense in hindsight, but I'd simply > never thought about completion in non-interactive terms, and was > surprised when I hadn't found a documented function for doing > this (but I wasn't looking under Completion at all). Understood. Same for everyone. I defined utility function `diredp-common-ancestor-dir' for this (see below). > Eli, I reckon this is worth either documenting somewhere under > (info "(elisp) Strings and Characters") or else creating a > slightly more string-centric wrapper, something like: >=20 > (defun string-common-prefix (strings) > "Return the largest common prefix from a list of STRINGS." > (let ((prefix (try-completion "" strings))) > (if (stringp prefix) prefix ""))) Dunno how useful that alone is, but maybe. I'm using this now: (defun diredp-common-ancestor-dir (files) "Return the common ancestor directory of FILES, or nil if none." (let ((common (try-completion "" files))) (if (stringp common) (unless (directory-name-p common) (setq common (diredp-parent-dir = common))) (when (eq t common) (setq common ""))) common)) And I've long used this helper a fair amount: (defun diredp-parent-dir (file &optional relativep) "Return the parent directory of FILE, or nil if none. Optional arg RELATIVEP non-nil means return a relative name, that is, just the parent component." (let ((parent (file-name-directory (directory-file-name (expand-file-nam= e file)))) relparent) (when relativep (setq relparent (file-name-nondirectory (directory-fil= e-name parent)))) (and (not (equal parent file)) (or relparent parent)))) =20 > Regarding the buffer naming: >=20 > >> (dired (cons "MARKED-ANYWHERE" >=20 > It hadn't occurred to me that this could be something other > than a directory path. I definitely agree it would be ideal > not to conflict with other dired buffers, but I've seen some > some oddities from doing it that way. E.g. after creating > that buffer, I can't obtain it with: >=20 > (dired-find-buffer-nocreate "MARKED-ANYWHERE" 'dired-mode) > but rather I need to use: > (dired-find-buffer-nocreate "/path/to/MARKED-ANYWHERE" 'dired-mode) >=20 > for the file path it thinks is relevant, which then has some > possibility (albeit unlikely) of conflicting with a real path. I don't worry about that. When DIRNAME is a cons, its car is just used as a buffer name. It shouldn't (and needn't) ever be taken as a directory. > And also (for better or worse) the new command can create extra > MARKED-ANYWHERE buffers under different paths. For better, IMO. You'll get additional buffers, named `MARKED-ANYWHERE ' etc. With my code a user can anyway provide a different buffer name. You can have multiple such Dired buffers, with different names, for different sets of markings, for different purposes/contexts. > We could further reduce the chance of any conflict with an > actual file by choosing an even less-likely name; but perhaps > there's a cleaner solution. It's a buffer name. I don't see how conflicts with file names are relevant. > The version I'm currently playing with is attached. I haven't > tested your version yet, but I've grabbed some of the changes > from the code you've shown. >=20 > I've split out a couple of extra functions which felt useful on > their own: >=20 > `file-name-directory-common-prefix' > "The nearest common ancestor directory for FILES." >=20 > `dired-get-explicitly-marked-files' > "Like `dired-get-marked-files' but always returns nil when > nothing is marked." I too have a few utility functions, but not the same: diredp-common-ancestor-dir (see above) diredp-parent-dir (see above) diredp-live-dired-buffers diredp-explicit This is what I'm using now: (defun diredp-get-marked-files-in-all-buffers () "Return names of files and directories marked in any Dired buffers. Like `dired-get-marked-files', but for all Dired buffers." (delete-dups (let ((dired-bufs (diredp-live-dired-buffers))) (apply #'nconc (mapcar (lambda (buf) (with-current-buffer buf (let ((files (dired-get-marked-files nil nil nil t= ))) (setq files (and (cdr files) (if (eq (car files= ) t) (list (cadr fi= les)) files)))))) dired-bufs))))) (defun diredp-live-dired-buffers () "Return a list of the live Dired buffers." (delq nil (mapcar (lambda (d.b)(and (buffer-live-p (cdr d.b)) (cdr d.b))= ) dired-buffers))) (defun diredp-marked-in-any-buffers (&optional files buffer-name) "Dired the files and directories marked in any Dired buffers. Like `diredp-marked-files', but for all Dired buffers. With a prefix argument you're prompted for the name of the resulting Dired buffer. Otherwise, the name is `MARKED-ANYWHERE'. This command is only for interactive use." (interactive (let ((fils (diredp-get-marked-files-in-all-buffers))) (unless files (user-error "No marked files in any Dired bu= ffer")) (list fils (if current-prefix-arg (read-string "Resulting Dired buffer name: = ") "MARKED-ANYWHERE")))) (diredp-explicit files buffer-name)) (defun diredp-explicit (files buffer-name &optional other-window-p) "Dired FILES (a list of absolute file names) in buffer BUFFER-NAME. The names are listed relative to their common-ancestor directory or, if none, relative to the current value of `default-directory'. Non-nil OTHER-WINDOW-P means use `dired-other-window', not `dired'." (let ((common (diredp-common-ancestor-dir files))) (let ((default-directory (or common default-directory))) (funcall (if other-window-p #'dired-other-window #'dired) (cons buffer-name (if common (mapcar (lambda (file) (file-relative-name file com= mon)) files) files)))))) (defun diredp-common-ancestor-dir (files) "Return the common ancestor directory of FILES, or nil if none." (let ((common (try-completion "" files))) (if (stringp common) (unless (directory-name-p common) (setq common (diredp-parent-dir = common))) (when (eq t common) (setq common ""))) common)) (defun diredp-parent-dir (file &optional relativep) "Return the parent directory of FILE, or nil if none. Optional arg RELATIVEP non-nil means return a relative name, that is, just the parent component." (let ((parent (file-name-directory (directory-file-name (expand-file-nam= e file)))) relparent) (when relativep (setq relparent (file-name-nondirectory (directory-file-name parent)= ))) (and (not (equal parent file)) (or relparent parent)))) Dunno whether it's worth having something like your `dired-get-explicitly-marked-files'. But IMO it's anyway better not to use `length' - better to just test for the `t' explicit-marked case: (and (cdr files) ; Return nil for unmarked singleton (if (eq (car files) t) ; Marked singleton - listify it. (list (cadr files)) files)) ; Multiple files From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 15:49:40 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 19:49:41 +0000 Received: from localhost ([127.0.0.1]:41869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMXdb-0002yH-Px for submit@debbugs.gnu.org; Tue, 03 Jun 2025 15:49:40 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:27730) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMXdP-0002ww-2V for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 15:49:27 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 553HY0vj029058; Tue, 3 Jun 2025 19:49:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=G/moFPfJHyjqJ7ssztsM48F6OWLZ8Mhp/qS26O6oZX4=; b= QqUqEw/ddLb8A25h4/+FKBvPHQIPD/PR4f63Tam3rPVexJ5bWAb5bkUcVzqRqm3Y 9fxGKiABMfwtuz8xr6TK29vcCHorDu6c0nFyZuw3B95rnP7hSFAeExYGSdqBbD2I QYueGXwW4X9fCyxdms3PH7DkpDu3/6jCOYVKdUcFUx1Uh6396JH03LV4Nm9KXDv8 gEb5SNOfsUq5STkDQVRYr8zLDPkqFgDL5webaG3LUFS2Xkz+v/DMLujuM0d5pPxq h2pPvBTtiiHPJKTADFMUs7SRgWsrO6LUSNOAktMutUHZMzlERzMm2yrptHsr4K1h 5ZbQRiAyksf4mpcPdT1yYQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8dtp01-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:49:17 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 553IPe5O034603; Tue, 3 Jun 2025 19:49:17 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02on2063.outbound.protection.outlook.com [40.107.212.63]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46yr79uv1u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:49:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QWHxm8I/Si2/mdhMyv3mIaOAd7l3DYWPFDe6BFYJk3PvpwCeukhSzHnu9+5BrCXjFZb0KzlntfyPvbQzAOUmoGptxeqK5Bd+8UltcgcDlvEZJ3nmXEQsOdypx/yyDBJVepf7rJxnvwcI0Qbsy/PYPTDajWrxMEqwXV3F93phyD8BF6S50JZkxHiixXmwXWR1rjHh4b/v2/QvMnXWSUuj+1nWpQiuiB/m8hNITEFTY84/+U3SFe3SMTst6gsJq/ThPLXEQIi6T+elURXkRWJpHcUMNTijb9u1cceddROkanGYP+nFvQ2tsqwNy9wT7VtkQW+N2g/GWs9iCyB3BwsMDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=G/moFPfJHyjqJ7ssztsM48F6OWLZ8Mhp/qS26O6oZX4=; b=JmivPARzNHDYfi+66o/r/z49XemrrBE+o+MWclBk/GxEyFpcHdTP/RwfCSe30AR0jkQknREwC6ifIXkTkZ+sEyrw8L23+gaHY85xNHiehX+W8BRVWM3Yc7cS3J2ABkh+KkaVbLGVm7rMtRCnU0TmPwqrGPmqd5fzT2ewqSi9tPPoh1sk1xPVnfqytRhFIJn8ArCNn6KROGa9WXUgHpdfzn+w4gW5DkSlOoS15DQi1INkHGt5lY14WBnb1/jhEjbfuRubhqDWGv4ECpfgk+zJzntlccndUMsIuEJTWmlNigDDB6kYzrU8/PjwgBuflHX0//LuIbDq995P0K8K8tpanA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G/moFPfJHyjqJ7ssztsM48F6OWLZ8Mhp/qS26O6oZX4=; b=Rrnlw9eKTrAk65gAHy0omYqW7PFqNEe54Hga2fha91dp+3LcSqE4lOtzkHpfKaeOo5Vw41bmm8qpHTWHb2xgwYa5z7bWqn1Gp1hnxpq0bs6i8TxgwzH5TeiMbx/JqZrUpETXMyQppDrq6eTKV7p+bpGmWba2GADNJWfBWkp0eHs= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CH3PR10MB6857.namprd10.prod.outlook.com (2603:10b6:610:14a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Tue, 3 Jun 2025 19:49:12 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Tue, 3 Jun 2025 19:49:11 +0000 From: Drew Adams To: Juri Linkov Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1Jtx1lMmW3O7QEGlOrnlsYt9f7PxpnFA Date: Tue, 3 Jun 2025 19:49:11 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> In-Reply-To: <87o6v59cgt.fsf@mail.linkov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH3PR10MB6857:EE_ x-ms-office365-filtering-correlation-id: cad34c4c-0f7f-48f5-ba8d-08dda2d7b650 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?nmt7Z+xKu4EB4xidnackhI3ETm8zjQJ5xhLICPGs+VIQz/j3MV5SyoM4u7dk?= =?us-ascii?Q?ZkQkn/qutpne+MZ4MfXWuoVSiFUKlEvewroKExYfcA9N944mL7XkOrXV3Atv?= =?us-ascii?Q?3sHmdXMYQOqe2VJ2B69MmAeWnZNtyVDDfQJHOX+qXCp/J6KSL3GrdlP9DOph?= =?us-ascii?Q?X9OIBDqWy6mETmtpWciAXL/mCyPBdBGj6RZii1px4UL6N/y/aDVXM5gid+DI?= =?us-ascii?Q?ebEAUMFIouxTN5hQvKc8i12xyMFzuC0GbWuNPYKkNRkc97vyRACPNPpkONZI?= =?us-ascii?Q?ZOJE96AesE/6Vg8xUi3gtC5W6i4PFgB5YzD5vqRs+U8p9XRAsnvyl1POwYvy?= =?us-ascii?Q?IlfGfnqpOakwekQ3XZXLerbwuTUe2X6MAQFrGdHo3d58An0KW0Z4ww4bI2y6?= =?us-ascii?Q?ZMB+3ZT2h/TnuqX/lGgm7G/6Per7cHcGXaNUaa2vnjuLzgSzMcrA1C8cWCBl?= =?us-ascii?Q?kwH20hNwt7dmGchMRnBDyUk8LRc8USVoBXGutJgZRMB6EBx87opx0Jm7jlQy?= =?us-ascii?Q?HmPt+wCt3cc3yZWuVn2hhX4mIoKIWSbTRP6zLc0ygWS/YbZTsiB1c3tYcM3q?= =?us-ascii?Q?4FsaUuoAKhlkPFoPN+1tz4Znu3QIaZ1OxokihUro+37+f9irpI4WwpQY/yap?= =?us-ascii?Q?33lWqk15/jqNwv6lr8iSNTJI7xSFubGynoLgOpYo7Jw03mUViDuLT4NSY9Zd?= =?us-ascii?Q?b3ynOpN0J/fv9iTW5QBzScOxoANY6YF9jTa8H3j9Ptr2vh3UxJqtPGg/PO63?= =?us-ascii?Q?ycrkctBtH4OichhelUItcEKkQ9M2eqbGCCiL0nV2S0df8168cebGkbnBxFKx?= =?us-ascii?Q?SW5hDwqBE4A7E4RdxVWKV/mj2fbDc1WstDRfhCkpusTiQy+ZBlcSHTT3ReJa?= =?us-ascii?Q?Ze1MFU9wwd7iktffMLuLTBRysOg3E53T15agM0CZDunzv/lWxq4hzOoEJwV9?= =?us-ascii?Q?0aWV2eR5R3bjjehiK5Bvba4v6n1IhH0X6CRTBFalJ0gdFlL/KmL40jMPomPm?= =?us-ascii?Q?dADW9pW7ptWhioDPYSu4XXCyhXbtrlh0qxg0aNJJuAtnheXWZIsTuyyiTswi?= =?us-ascii?Q?g+mJ2Q3xy7HxS9TcK2k0H0wMznalnTyPV5/+cW82ZwglhRn+vJsdFK1PK0oF?= =?us-ascii?Q?o+DUZ6TbHKcU+q/Lw3hbrieYi4/bnT9j4g4IIqPvhHrYj4DknfjgPQNDNj/U?= =?us-ascii?Q?OAKBp5daJ7OgyCn2k1011N/Wq9hLgY3vNUgSOGh6T56DzmlWwMtdDQqBOhlK?= =?us-ascii?Q?EW6pMw0KOLCIm7H4FsJjHgo7T4zz9lsW3SfGAwcXYoLZPNJiZpuVsfnE5QxL?= =?us-ascii?Q?vNEhub3lTkriQ4KA/frsY9VrJHPPHV+NYWnodFwQ+UQ9ACQauoE4fSjPb2GB?= =?us-ascii?Q?SvEy+2YHQQ6Jp7EcetzUdt6f/KzSf9xby1tMftLpvKpo1MjWooK24zZfRgKh?= =?us-ascii?Q?i8I02w9Lk1gDjJSCAse/HnI8ISQbCxhKMFcP7rMwxSVhAhIa+zWScYaNCd+4?= =?us-ascii?Q?2mupNUu3xOQaGCs=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?jsPtOTqs9VrgebLx4OORs6B9V+YGjeuBXXOWXJqSZr92I0cp9zRPJjqdgxMA?= =?us-ascii?Q?eZCJoh+XLYh94t58PZlOKD0MxYjC9TUWdBsuFpZhbXVP3QFgscdOKWlQs4NF?= =?us-ascii?Q?9KLrE+RmwVDD028LDe44q5I62aBhWD4mVHFjWYCGGsBgGMzrgfEu2WnFuuPy?= =?us-ascii?Q?hFjijc9Jm0lpZp3rA45Y8DEB5hE/WsLwuJqO+F3WBuvl/MZ1uRbYwiTJdhpu?= =?us-ascii?Q?h02Az3dKymNP6kijaLbGMZ8nygeC1s1XwhrubzRnOCY/5UQObnjEFToW2Jg8?= =?us-ascii?Q?Xp9gMCC1s6eskPgtmJNlyVojcHYVYn10LgkWnVeZvUy7yZ7CNQsqrAUflTC3?= =?us-ascii?Q?gCkc1VC/Rv1nyz5tTgiJnf4exH4qYgdfkjv4CmnTYMwCf0pl8Ji0HMy1ceC0?= =?us-ascii?Q?Pb1jxiG0sjFZ9+6GgrchGXjRbyaxslVH9pb5PoQcDAi1Hw9AN0W8neFIGSfg?= =?us-ascii?Q?15EKMNh1gpuJhuAIA6U+rPyFMr9DGnz7ibYqcykW6/HReTdooAmjDyK2jgqS?= =?us-ascii?Q?eD0hyWy6T6OWMfNI1vNKf2odXLkTEY4KwZ1VsYkYdqtT3Gm2Mc45Fgpr8Ihv?= =?us-ascii?Q?HKFGk+7BfsgriaAWkcsFk/jmyKlpPS9DN/KF4wQ9LaPMinBCSCMWpMj4rQXQ?= =?us-ascii?Q?rlB949wfX+L71Biqsblj4SDHOSf6oAoxX0ZAUnjWhBw0X3VazPASTZlWIhGC?= =?us-ascii?Q?G9TE/qYyE7TJ8/Vs/pXA1iusOZcHU2K7gWDPdPKGGkNGaYQCDkVw3q0TxNPX?= =?us-ascii?Q?O6OOkpFU8MR4ktwDt0tX2BoOV/X2CkZ2126VilJtidJsjxnhRDJU6Lr6YaWX?= =?us-ascii?Q?JdDCdcRodTHTTSlrmkAXRm/NR7aNKDC0eMbE4mQUo/ddiyBtR5fY4sqNjY34?= =?us-ascii?Q?lAizZmpe+b6M4ANmI/S6rOYdvpJtVOn7ci7zcQt96novU2bsdEog5D/W6p7o?= =?us-ascii?Q?9R0uBSHpWI0gu0w3PILXj+o4DQsSrJtHCyy00FYa6JYn2RGBnP0AzsH039bF?= =?us-ascii?Q?qWq1X6U0PmPLPunGzRkFWJbO3zXVSp1bq4xLeNeDLnzzkTFdNpAQkv48Uskk?= =?us-ascii?Q?iRcHRB08CTf4aw3vODN0d3vqET7Y3+WnzCd6sBK3M3AKMAGUX7feKhl1DTT4?= =?us-ascii?Q?/iR9qfwZzccG9UVfTdJOIpuaDD9bZPyO6rz8AwMFCHxF6wg9Y4H6GYNRJFUL?= =?us-ascii?Q?KoNI8f0kB20QY13S/kzR9uE9M3JocXkfj8PrjYbXQ6LwF5PS5ODBR6fEjqvB?= =?us-ascii?Q?ptBnrh0J0C9he7BFRQmqTi547MrBVf9QG8E7sISg6Q1XINFNPkWZ7X/MKmro?= =?us-ascii?Q?sjd2GloA3Fi/sukha9Fp4usYlN65EyLuqaNBs0Wam2WKuWCJpswqST/J9KwZ?= =?us-ascii?Q?mNW7fboiZHUrpwUwBpuOk8tfESnqrDcfuUcWICvIh+F9xzWLJAsBmVlEMwIm?= =?us-ascii?Q?JgGCoZErfzcwUqYV0ooXtphDfeyJF8AQO+GjaGLI+gNZcqz2u8Yzi2G83mvF?= =?us-ascii?Q?dtpHMN1tZzfYrViYfTXj5KJsHZ4zyJNBkBGI+weo1W5QziY9lreyK6GmW6tH?= =?us-ascii?Q?fVyunVzI5QcPG24oi3qEbM4SEJIVXbVXyHpTdxLV?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nqn955v0iVcuxi+zLJyhos5OrwEPFi3hLlYoijLHMa6emwFuVKXcHPDG+0oRPPtUvEh4BOa6Lju/EAZ1sLS1Hfs/uz3sd0+7Cp7ja7MXCYIGhfDWMx35sNXd6uOKXuix29p7OUiZAT39XJTTmB6pVkIJBdpiZjxS3TFGrlRRWXnGQGZAq24aQcu/4fN9j7zPiZNC5b2iT486YD2RMo9L1KyqOQWnOQa3xjMRSzeD8F6Nu4F87FB9KfNMTb+BYZAJ6EWHUSJ/QiUX0ZwqSmKyoM+HBj/p1bkNFXVVzMOjgVDNC4Iy8MbA0pwWCUEWse6nz3Cs2IZU9neAucXmDhm/xBZdtodCZPFANMNaI4WWVDFtxRSBbBqTAe/IK6MdFlO4B4DkZRILKz5RzBl1G+S+i5P45GFIi4zGVzBPHAnWnitEi/0yM3G9DFYlGHvze0YudaUIzp7yoDWDABy3KFnJuMRBg/SsKa5nUXme6WZaF7maD3BdHD/1g2c/34lsR06PmUiFOUS2zcJGK6W1ixxz4zSrt6ObfeIrDUxvwC0xz6RY2gUQvijm3RGvbrAHHwl43z7dwPIBKSttcQk2/4VKkTjOWerKLbpQ58ODzISwHl8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cad34c4c-0f7f-48f5-ba8d-08dda2d7b650 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2025 19:49:11.6627 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tzHvS8Ok/juaSBzkMiMej2q5TzvPlb0Z65Eh6Nz5URRrM5Or9f3BtTXPnbqifJzNYU9ctA9DjZNN9C/Bm+GCdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6857 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-03_03,2025-06-02_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506030172 X-Authority-Analysis: v=2.4 cv=Va/3PEp9 c=1 sm=1 tr=0 ts=683f51bd b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=j4MCc5F-4LIycH3Ay4AA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13207 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAzMDE3MiBTYWx0ZWRfX5RKguiT6zjgV XmrF2q5wMdwxcrfBCzIOapsoPdNLVba4/HWwExZ/Wq9srdx5yu9y3Lbt0D3dVJs8/haq7nbXor4 HeNwhC/Z3nCx4ljUAGSBhDEeF5ABYGfsG2sEdxYJkvZlAHTq6nS4xrc6dPlpFkd8auTy527g+h4 nXK8BfQ05vNMs7eH4XJJKigqqRQBCNoYUlhdci6qxyct2Yq/jNhXACRU0VFga7DTBi2dcHSeXxp lCY1N4tejywL0HGaCY2R7ZLo0AEQykth4bNG8bpV508ig3UeiEy5Eo0qW/SH3FyU+kHF0TB5nw5 sjWmMA3EXCkOKtznMfv3AJr6Z7GCcHK2yrq4dTp3eB8Cd3NVm6Qwz3d63PIaPs4kULgxTUAlB5w ae3Pse/G7ac6LPO81RdRD6vDCm5QliQ/NFvFqtZf3Y5B1tfiDaDmILe9qzKUIkDs1UseMZX/ X-Proofpoint-ORIG-GUID: wSnYFU6Or0Zes3JCEjZR4RdXcB19Lq1X X-Proofpoint-GUID: wSnYFU6Or0Zes3JCEjZR4RdXcB19Lq1X X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > Dired+ has long had commands that act on all marked files & dirs > > in a Dired buffer, and all marked files & dirs in Dired buffers > > for marked subdirs,... defined recursively. > > > > IOW, instead of (as in Phil's feature) checking all Dired buffers > > for markings, such functions check only the current Dired buffer, > > Dired buffers for its marked subdirs, and so on recursively. >=20 > It would be too tedious to mark subdirs, I don't agree. It's simple and practical. You may be thinking of your use case (below), where you apparently want (1) a Dired buffer for each descendant directory, (2) a Dired buffer for the top-level dir, and (3) a Dired buffer for each subdir marked in each such buffer. The general case is, well, more general: you want to do something to or with some, not all, files and dirs in a listing, so you mark them. > so it should be sufficient > just to check all subdir Dired buffers. That would be useful for the > most common case of running this command from the project root dir > that will collect marked files from all project Dired buffers > and show the file names relative to the project root > where the command was run. I don't think that's "the most common case", and I don't think there is a "most common case". It's generally useful to do what I described. In some ways it's similar to doing things in a single Dired buffer with inserted descendant directories. In other ways it's different. Both (inserted dirs and separate buffers) are useful. Inserting all subdirs is rare - there's no "most common case" of inserting all subdirs. That use case isn't "sufficient". =20 And the same holds for when you use multiple Dired buffers instead (or in addition!). > > Applying `dired' to that collection of marked files & dirs is > > only one possible action. In general, all of the usual actions > > for marked files are provided (by separate commands). >=20 > When all marked files are collected in one virtual Dired buffer, > then it's easy to perform all other possible actions from this buffer. That's the "insertion" approach, applied thoroughly. It's long been available: just one big Dired buffer, containing listings of all descendant directories. When was the last time you actually used such a listing? > > And it would be good to let users optionally name the resulting buffer: > > (defun diredp-marked-files-in-all-buffers (&optional buffer-name) > > "Dired the files and directories marked in any Dired buffers. > > Like `diredp-marked-files', but for all Dired buffers. > > With a prefix argument you're prompted for the name of the resulting > > Dired buffer. Otherwise, the name is `MARKED-ANYWHERE'." The name I'm using now is `diredp-marked-in-any-buffers'. I dropped the "files" part, in keeping with other Dired+ command names. (And because it's really file and/or dir names that are marked. And actually it's _lines_ of a listing that are marked -- not files, not files & dirs, not file & dir names -- just lines.) I have other `diredp-marked-*' commands. E.g., `diredp-marked' opens Dired on the marked files and directories. `diredp-marked-recursive' is similar, but it opens Dired on marked files & dirs, plus those marked in Dired buffers for any marked subdirs, etc., defined recursively. There are lots of other commands that act on marked files & dirs, defined recursively or not, in ways other than opening Dired on them. > This is quite an ugly name, but the name pattern could be defined > by a new variable with a value like "*Dired Marked %s*" where %s > is replaced with the default directory. Whatever. `default-directory' is shown in the top-level directory header line. And it's available via `C-h v'. I don't see that putting it in the buffer name is useful. More likely, a user will want a buffer name that's specific to some given context or purpose: what the buffer is _for_ -- a given project, a particular kind of markings (e.g. file types, dates), or whatever. The default directory isn't so important, generally. The default buffer name should be a simple placeholder that says what the buffer is about in a _general_ way. In general, this is about files & dirs gathered because they were marked in some Dired buffers. Note that it's about some set of markings that existed when the new Dired buffer was created. Those markings need not continue to exist. And yet the MARKED-ANYWHERE Dired buffer can continue to exist. It can even be bookmarked (persisted) and restored later. And such a set of files & dirs need not even have a common ancestor directory. A file system can be a forest, not a tree. That's the case for MS Windows, for example: two drives don't have any parent. The code works fine for such cases; entries that don't have a common ancestor are listed with absolute names. The Dired buffer created from marked files from different trees (e.g. different Windows drives) has a `default-directory', yes, but it isn't relevant to all of the listed files, in the same way that it would be relevant in a "normal" Dired buffer. E.g., here's a MARKED-ANYWHERE buffer: c:/usr/toto: d:/usr/toto/bbbbb/31 octobre 2022 Paris.zip d:/usr/toto/bbbbb/aaaa-YYY bbbbb/aaaa-YYY The default directory is shown in the directory header line: c:/usr/toto:. The 2nd and 3rd files listed have the same name and the same parent-directory name, but they're on different drives. The 3rd file is listed with a name relative to the default directory. The 1st and 2nd files are listed with absolute names. They have no relation to the default directory or even to its drive; they're on the D drive, not the C drive.=20 Dired buffers from a cons DIRNAME are somewhat strange critters. They're essentially "snapshot" listings. In some cases it can make sense when reverting them to reflect the current state of the file system (e.g., removing entries for files that have been deleted). I do that, for example, for a snapshot-listing command `diredp-dired-recent-files'. In other cases it makes little or sense to do that, and what you want really is a snapshot listing of some former state. Reverting the buffer just relists (replays) the recorded file names, as is. This is the case we're talking about now, MARKED-ANYWHERE buffers. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 15:55:53 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 19:55:54 +0000 Received: from localhost ([127.0.0.1]:41896 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMXjg-0003o1-IR for submit@debbugs.gnu.org; Tue, 03 Jun 2025 15:55:52 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:39264) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMXjX-0003mx-Uw for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 15:55:43 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 553HXx1f029040; Tue, 3 Jun 2025 19:55:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=i9mxuLooMDTu7GLwMK6c9E2LRajIYkP/04gFmm1JGb4=; b= lmI+up27nxDEwO++Sv8UP3eBvlrR/BKKKU9mD1aJMQ9WZtBWzYiL9CDfzFmy03xw VCuLFLsOlTPqdAKXI/7NM9yv1EYG4LAaFxZm+JFtVauiTU48orz5X12+lmW0oxNN XC4hZ+kVg6herrjqaEPCsf7BLvH41CetApcgBrQJdWTyTK34TlJf+D6xJZn45gDq RXozv6U6oLKO/e0ma3uOsjVgQ0GeQ2j37ap/9CFFm0TuyzNNMPAyPSAMdpmdHypn Qb7jglN5crlpz5jnQYX1aWqjrVH5+utTtDs2IcGPArGe6RniOYjRIdlmF0uFtwOy 3FSusQoh3HWZapU7rr0IqA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8dtpc5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:55:38 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 553ITClZ034872; Tue, 3 Jun 2025 19:55:37 GMT Received: from cy4pr02cu008.outbound.protection.outlook.com (mail-westcentralusazon11011019.outbound.protection.outlook.com [40.93.199.19]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7a436g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 19:55:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jImzM2TZTkO4DadhW5HmMRIH0RN5kL+cjC8fAKkXtY/FJ8lDT3fd7LGc3/sbSVBRFLv1oxpHUbuugXKrSqrRiw4TBCiheRkq7SMcXbSBzOWgmYFyezG8+TaKCVJu/anpR+7RS5OHT1BR3vKm7DqKcbg1l38r8XD8E5i5FNypHNX5e3mqZGK6JZ5K049brj/0O6JPvRK50w9ieFZNfGQuArWHWjmZRPUA2ca0nbj0qZFfzD36ZmnasCos9Oo6BMUxVvxXKYOeF/4AWXMo2FQxne1ryF722lHW1OoZCTLG5VeQO5dlxcdsfB8X3Jq1PECDsp/Zd7eXd2bPxUjKXxLf5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=i9mxuLooMDTu7GLwMK6c9E2LRajIYkP/04gFmm1JGb4=; b=eZfFFNBBMarXzrMlDluNNAHLZ9laIj7uBY9ktc3/N8Bej29WymOSfwTVLgXkKLGPtcBPXj1kJ+XP/+7eLYk/S3Tp/d70FviWpleMmFETE33FmG/HCdWCyTmIEiEj4M1QyOBvXPpzluVdosTzWk/J88w409lQhIu7a/HbrZeHwvZzq3eI/R9PZ2MIJ9Luy302YiZQ4aJNBHO1mOZPccEWCsJ7dbuubNKzluyYa3878LnJMLgWCCDuHOKDNJ/E+PVqvH/t9z9VCqJTk73nZ1CIsfe/VHK2PCWB+BGVevjvbOLU8XAqZehhlbJhD3qub1k3duk2uFWMXoJRS0kjB4HINQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i9mxuLooMDTu7GLwMK6c9E2LRajIYkP/04gFmm1JGb4=; b=YcDsngpFFcjl8vV/UCWCACYNKIkZWfht+NGbTV9m0o9XuM4b+2M6qCQWjy/1lL1Y3dd7kDDpmr2u8KRAboKyUDp+/vXKyqRfsrIXFwqiZZuvqJhi3cDv0mi/5GohTXZkCkK6Nni8GT5o0ltDmF+cTXA+Ti1/Gxh1kGy03xOnN/4= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by SA6PR10MB8014.namprd10.prod.outlook.com (2603:10b6:806:445::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.35; Tue, 3 Jun 2025 19:55:28 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Tue, 3 Jun 2025 19:55:28 +0000 From: Drew Adams To: Eli Zaretskii , Phil Sainty Subject: RE: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1IJ2l0Ca+S4mVUyvHBPisZ0Z+LPxwBMw Date: Tue, 3 Jun 2025 19:55:27 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> In-Reply-To: <86jz5tnhcg.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SA6PR10MB8014:EE_ x-ms-office365-filtering-correlation-id: 9b038453-f5e7-4a30-f105-08dda2d896a2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?pTVpazGviqO1513fSIae4loD26TkOKs6hdOsSYCj8lZsEqnqoZq7n/yHzKtb?= =?us-ascii?Q?qzA1XinypsUMz//UJ1qElAvRT8hpK4Ra9LizBJHlKsZM7My/hFT4fT1r45B5?= =?us-ascii?Q?/CKOalAFjhCSHyfErjtge86lC40BGqBa2cYsLcZPunklDcTBCBQLhAMUM1GW?= =?us-ascii?Q?IIIeTe2Ig5igkEhKvqzCBoNAqwnjXVtz0EjVzSxkVnMDZYeK7pUWT0CFTv70?= =?us-ascii?Q?9/LnaXyIRDcPFZXEMIEe+xo61aZyMfYt8X2UeuwZP2DgqedpDE7ccfMUwusm?= =?us-ascii?Q?n6+jeHCINJtXWZf056G6wo3jEuIm/cwCDsguPGptAFvCJ2aquJssnMjGCYMJ?= =?us-ascii?Q?aQawqY1MI/r7xcHQFQLLMrecFaaIlSW4uanHPlMdvxSGobkRZbw3leG33mev?= =?us-ascii?Q?wldE/liHyBeMEedkDqAaek2TJ+cX2Ljhl8ZbMYsQ6qYxh5YqFzASxJaKC6Gy?= =?us-ascii?Q?6gJiWKOo/zxu11O2dGRYbraQyJNL0tczXWnlLKAJCwCMaEeemWxB0eb9upSF?= =?us-ascii?Q?zMe2XQXNQb86eSdsQsyyGvtJXKMh1jVKZ3Yz/xo2h/eTZInN5EQeJ6UMaZAX?= =?us-ascii?Q?SK/s+cE0IvWeQGmWn0QLJyABrhBTt0rGmYy52eUrM1p1z9QgraVySkVpp89V?= =?us-ascii?Q?arNCPca07fTZEKqjfiBaC1mWSyGE7tn3uSv4CIIndhsoqxZFQFZKaJPGml3+?= =?us-ascii?Q?555//4bfxeQvvA320dNbvG3MeqrY6gWdb715EBtzpe5XS6o07cVMEztPoW92?= =?us-ascii?Q?ff8x6SdxlSdmJ/StUQrQzHXJRBXWC6aNJ+gWROq6PgoniznL1l8D9Sh58GUX?= =?us-ascii?Q?PcC9/cV8vQRB3MtHsTFhD5NB++WbiSSU8Ur0pdpTzQnekEBigSJ6GssEJpRy?= =?us-ascii?Q?ueFJXhorfqTqhTFwIuLGeN+8kc26X3DG4L402Zwf1sBkFxfmQhmgjUdHQjTF?= =?us-ascii?Q?PFdYWtxImSYek0gZ7jal9zfuo3ZnnrMtzAB3V3z0YopKQ3byY6lDccBNx87P?= =?us-ascii?Q?/+tOl2euT5F7LDfBLI4il1kWiIg1iFmSQ+NSMFLj4U5bfCwRvs5jKuKj0bVf?= =?us-ascii?Q?b4NAu0o5CVVBPZcgRRvDRsCmQfyPnI+vhZefj8U69m98m+BnQZPWmZyGO/rD?= =?us-ascii?Q?wWy+l27YkxXHMHjoDz5hJ6nE/6qTTL22rSD0GPknnTX9bJEtf8iqXv0N37DF?= =?us-ascii?Q?ijvpPsIcRMP/Jr10ppsKHhKXvmWMgr+ScBpNBg3avtcMbt2L4E8PO3TY4cJY?= =?us-ascii?Q?vibrV1X6zSro/6a6U1cgol2gCU1cd3Si6uDGXJsfKXVvw0Nv0Rucnb/YZNqT?= =?us-ascii?Q?qnCZCxPZ29jMOWNJWjSRzww9+UltNojaW+8//GkCWq7+PI9239nbuSpnh3uo?= =?us-ascii?Q?GXj6ANX/qswct+RMFsq2ywHI296wQtAzXS72jkFGmYJP0sGKPIyuzbJN94lS?= =?us-ascii?Q?ajYsncT+D3cf+8zEB0IBlEk3QTGmI8kE1oG4hW+kUCagbkT2kDEZU/CuCSrd?= =?us-ascii?Q?WteHyScqz9s5wf8=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ZRa2G+cCFrHrBvqPRU2zlZjYvquEp5fMFPeh2njd5tEVMwmvZC6OlMi0j523?= =?us-ascii?Q?/h/fGBqD5tza8sZJ0pNkZuMeZbgzI/7jcEm+bF0ieEGNLjZa0ZD9sGIjzW0i?= =?us-ascii?Q?P7/5wGaBMk3tKCEXvgH186KuN9fni9zM5QcBEJnsdycDztNg1atXgdi2DOhh?= =?us-ascii?Q?uTwT7hMq3J24spIO3qDh25U/j9aHN3D8dOv6n7u3mfdhM0gHTfnqJ1nzBYic?= =?us-ascii?Q?ziBDSSwB4CNYsZGAdGj4+6XdWZh5FSsu9thyreUn1Ok1G5NJ+oHq6Cu+qbaH?= =?us-ascii?Q?2doSYR/ULaIoMxYklSoB8MUOutrPihXBqKVsNLT99Jln6aB/BKAifetflTW8?= =?us-ascii?Q?JzzkVhsGfaUZY+qTRfaPJahbl468yjoivqTWWfUz9m0i+zyTKMamACJ4o9V0?= =?us-ascii?Q?4lRRMZMv5+4k3faf79ibVcYTXMI4rQhUMcMS8c7UJqHZZ5cMWeHHRx0xcgSo?= =?us-ascii?Q?Om+OazB9XqydV+s6egRlJk7nXjURkiOuVwt0/8zt4RqyNFOT90HRsRAMWJru?= =?us-ascii?Q?SpcmItR4GEENIw4LfSFtTzZnXRZ/MWEedmpZVz7VGLMu01mwUnV2VW/Wkgl0?= =?us-ascii?Q?9PTG4q1ObNsYtPVdjxDEqCSFzoOtR1OfPYv2mmIek1X3PssZEto3PjOLrbAA?= =?us-ascii?Q?Pq6BvihbQzSpV76nKzuxQA73uPnctsf3C0JzTC+AbE00JXfQ2ohenkmQxRFt?= =?us-ascii?Q?skQCOqPZQFd1xuQvH6SYGuXXvhvbq3z4TxY+0rWsd6J7LBa41n80MAIrkPYH?= =?us-ascii?Q?mk75ToVwyGo/X9H6crXvGoHURfG/P3zC4DV+Ey/LW6V30YQvYq6ZUAOlf2X0?= =?us-ascii?Q?IW7NECiaMwJxTFwsBXJkYgSeWlbNIPsKqG1p44Hb9b+FYXMikx2WdQ5hNUxW?= =?us-ascii?Q?qEzeSq2PMA9O3W6zb/AvI2HpitDbfKDwbRiwHTrazpt1PNZErC3erk+bqDnv?= =?us-ascii?Q?tFf4K1NHeVop0zQzj4s6fop73sIrmJVN6+V4rzYEw0wbB4yrByYvCteQafXl?= =?us-ascii?Q?8cmeh5C9j1nU7XmMqsbZuvWlhAs250y5mtaBO/sSFnp3D7bxGoZ7qHAp9l69?= =?us-ascii?Q?ocwkdYb2Q1yOivWhH9KzzM44C3+CnSgqbN6od76YD74FcrVVZYyer/ZLZRU+?= =?us-ascii?Q?4q/oOgZTG8Ck9xwLWQ3/WVmbfJ03A3Wdf6u9wFa9stR2HMdQWw+bLejqOtrw?= =?us-ascii?Q?KoifKYsED8kgbVreqrEKDggAcC+yPij+3pNVmE8Xn7lmp5lVk4bPeVM8ywr3?= =?us-ascii?Q?WpzIdN1EwV0ekNwYlMhsIcjIoRtB+0m3pDZMr3xXD8m0hArOWLBgexl3eVxJ?= =?us-ascii?Q?0Kj3O0jVBNxphXQ4vHiBHZsbDB3qNantUuz3E79MNXVRDxnFYZRqzHE9cJKC?= =?us-ascii?Q?J4paBJ6iaZP5Sc20HS5vLupTgxApSdczcpk03eL2Nz+mDhgqGGUoXQaXFFBB?= =?us-ascii?Q?TWKMyCux2r6odv/IE0Jsk37RW5qKyQenNGeFhDgYr21+W9nHc4dXC/rDSsgl?= =?us-ascii?Q?aViJxp8TYMb0vr3FrlpKWqjDJa0NOhusHJ8Ws9kACK+T5Vk2WyuF53PvH/hW?= =?us-ascii?Q?3jjN/9+35Fn8QhuAjWRjtnZ2ldm4k9p6tFPJRLc2?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: xae0WZsSEyuUtlhWwbBS2gJ/kPMniaAaMi7Dt+3MvXsId5epBaNBqkMnj0L/2AUgdXr2HDcWgRDioiRlZGmIyemIxWWYmRq5WoU/1PVPE8QasaX0vdNFlxVTQmYClwxKIRbrG9tXfR3y3KdwBvO3TJB/bda5QARIR9MJQyMFwJ6VLsaRT9mG7aUU3/KggNcdMivGvJUA3K0oqwYg7+v2zaarVX0Afr4iZ4DIRdwPR2EFDE/KTlT+njMAYmizNGGa7KLA4M3txMK5Y8Y9wiQqa0NzPfmd+Iu2FP0xlSEOZo7oAxUUSuDl+hrD8iHix0hxUDr4FTl0S33IwdzX9NTrY6JUIOhjRE1CBYWIvkb/z6LlTXi4LwEWBzEC/G1IrLsYQMocMVXSUClg8pLoPEQFK04R0KxouuqtxN0JOrdGL4aBwCnGsxscC3md3eZHXWgP5LVv2IVbp+QrOufQB88haymiI5ZVVQfWag4+TcXYJijZ8t3dGt2falRTVhJpKQsTtA7YAq+XssNwd+9EDXpBJCF6TubApzRFISdZymAh9l7amzhlCLxj9hjzmyKW1xWqyyD1Z3m0ed+OS1NjD/Ov2n49SqBjV20ICNl1EVPqwws= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b038453-f5e7-4a30-f105-08dda2d896a2 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2025 19:55:28.0000 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bcRtDVh27SwuPjpkK8Ia5tdA9WRISxsWHw5tm5Sz1WozOPlaWpNL21ovd8H5rtcq277P+m9xuhDB0cL/cfsx3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR10MB8014 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-03_03,2025-06-02_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506030173 X-Authority-Analysis: v=2.4 cv=Va/3PEp9 c=1 sm=1 tr=0 ts=683f533a b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=-bi5OEqCSA9Nnz3cIRMA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAzMDE3MyBTYWx0ZWRfX4IANm2dk80fo nuenmnixy4tB/0glAwTIxH3hm+26lm8CiMuXt018o0Ln2Vq8IoqrAiiZGljMt9wFV12XDUpVT5k JDlxzZVz0MOsnxulfWedzxucqcys1cGrwsPTZfePUChz4kKgEXO4+fpOvQ8qNicjr9na/keDUJx f9UWyYsT+0PLFzFfreoMkAgHX1ioxypJFc/E/N420/BIXRq/hcnFbVFSHaxRlZwQYJt4oL6Afps OoRVq6wSpZt1z/WTbXlGRf+yRxYu6QuuUt7U4dgUwRRJR1Y0ZyreohVwdyV3tlsfvj2MUBwZRwI G79BczU02rJvKiOdgjwg8HJG014Q7xDIiFnePZiB7WpfxwSietj+0PGwGyRs3w8wFq8turUpiSj I+/fuwgRIKzuKFv/KMKgeH5vADGP8XENaqySCbmH4RxTLFtoGVdI+U2S9gIVjPLNskj6gUQ8 X-Proofpoint-ORIG-GUID: 4cOCePOV8DdlVLhW8_QqEKIR5YQbaLi5 X-Proofpoint-GUID: 4cOCePOV8DdlVLhW8_QqEKIR5YQbaLi5 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, "juri@linkov.net" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > > (let ((common (try-completion "" files))) > > > > My brain had failed to make the connection between "completion" > > and programmatically obtaining a common prefix from list of > > strings. It makes perfect sense in hindsight, but I'd simply > > never thought about completion in non-interactive terms, and was > > surprised when I hadn't found a documented function for doing > > this (but I wasn't looking under Completion at all). > > > > Eli, I reckon this is worth either documenting somewhere under > > (info "(elisp) Strings and Characters") or else creating a > > slightly more string-centric wrapper, something like: >=20 > Feel free to suggest patches for the documentation, but please > remember that results of calling completion functions can depend on > the completion styles in effect, so if we want to advertise this as a > way of producing the largest common prefix, we should probably bind > completion-styles to something specific around this call. That may be a good point. In a way it's too bad that `completion-styles' affects `try-completion'. Or maybe I should say that it's too bad we don't have a better primitive for this purpose than `try-completion'. In a way, we're reusing something that wasn't really designed for this use. There's also `fill-common-string-prefix', but that just takes two strings as arg. What's called for is a function that takes a list of strings as arg (like `try-completion' does). In the code that I show in my reply today to Phil, I too didn't bother to bind `completion-styles'. But I agree that if we use `try-completion' in this way then maybe we should do that. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 16:09:55 2025 Received: (at 78658) by debbugs.gnu.org; 3 Jun 2025 20:09:55 +0000 Received: from localhost ([127.0.0.1]:41923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMXxI-0005Pr-8f for submit@debbugs.gnu.org; Tue, 03 Jun 2025 16:09:54 -0400 Received: from server.qxqx.de ([2a01:4f8:c012:9177::1]:58657 helo=mail.qxqx.de) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMXx2-0005Nk-DW for 78658@debbugs.gnu.org; Tue, 03 Jun 2025 16:09:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=daniel-mendler.de; s=key; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To: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=68zvDQLZxYeaLptg9bIkzWvhXDI83irVeex67YqeLuQ=; b=kJu5ZEYVj7FcuWN9Sd3lC2RVE1 RC6V2ksiik4lcrFQZ167BbQN11bW1OXzNvdhZRO/wdP4L4crL6YEP51I3pbPrZBcHI6Lf5hXndeNM PwlNbsE9G9w38uhFP+SQit0OWqyF3O6lkYAA2J+PHW7A/2Eaz70Y7W5Qx2teiuNyhjZE=; From: Daniel Mendler To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> Date: Tue, 03 Jun 2025 22:09:27 +0200 Message-ID: <87a56o4mfc.fsf@daniel-mendler.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , Eli Zaretskii , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, Drew Adams , "juri@linkov.net" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: >> > > (let ((common (try-completion "" files))) >> > >> > My brain had failed to make the connection between "completion" >> > and programmatically obtaining a common prefix from list of >> > strings. It makes perfect sense in hindsight, but I'd simply >> > never thought about completion in non-interactive terms, and was >> > surprised when I hadn't found a documented function for doing >> > this (but I wasn't looking under Completion at all). >> > >> > Eli, I reckon this is worth either documenting somewhere under >> > (info "(elisp) Strings and Characters") or else creating a >> > slightly more string-centric wrapper, something like: >> >> Feel free to suggest patches for the documentation, but please >> remember that results of calling completion functions can depend on >> the completion styles in effect, so if we want to advertise this as a >> way of producing the largest common prefix, we should probably bind >> completion-styles to something specific around this call. > > That may be a good point. In a way it's too bad that > `completion-styles' affects `try-completion'. Note that the `completion-styles' only affect `completion-try-completion' and `completion-all-completions', but not the primitive `try-completion', which always computes the common prefix. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 03 16:12:59 2025 Received: (at submit) by debbugs.gnu.org; 3 Jun 2025 20:13:01 +0000 Received: from localhost ([127.0.0.1]:41937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMY0F-0005pY-3b for submit@debbugs.gnu.org; Tue, 03 Jun 2025 16:12:59 -0400 Received: from lists.gnu.org ([2001:470:142::17]:48360) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMY06-0005nT-Jc for submit@debbugs.gnu.org; Tue, 03 Jun 2025 16:12:50 -0400 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 1uMXzu-00054H-Ep for bug-gnu-emacs@gnu.org; Tue, 03 Jun 2025 16:12:34 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMXzs-0002i2-6J; Tue, 03 Jun 2025 16:12:33 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 553HXxf9001264; Tue, 3 Jun 2025 20:12:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=gdT18Sg7lQ8A29hGqQyDQNU0J1+X2EfYjx9hOyg/Lso=; b= rUimx1UXtWf3vRk+Gu5SALBcWt/ahPWOO2rfmxhXYHfQmKa2SBPSXsTRAIZuBtrg ZMp7jyzRZbZwvy6CKrhpwFzU1zSERydaReUZT3VzT3AaBY0N9C5dlkWuC7ltpI55 N/uMGXLy7y5K6mtrGNtrwRSWxTOC0P8uj5O3oTxuRS6WXAV0M5s+6Z/6ATTFNE84 gfys73yD1DrbIl3utztlXKgspsAVOBE7eBYqLx70uIrQhZ3KabVKZzdMhu50o9La 5Xevb8WBntVjvNZNL0kSYUdQXhmsqMqT2/UfJyfGWH+WxdNNIZvN+5V7L244wL75 3QxGGKJTMDY8SprWEJEW6A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8j2qs1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 20:12:19 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 553IYSwG034414; Tue, 3 Jun 2025 20:12:19 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10on2065.outbound.protection.outlook.com [40.107.94.65]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46yr79vrk8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 03 Jun 2025 20:12:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D4dJ+EyFXGL0dvREk+8bPSOSkUvhCRsDsxaPcw9LSF76Ko20tbxeOKU1daRbHC9cap8tcb7HbgBc7mm8DLvCkKA15+6pOYrKuGRmz1n0AAqveMF+p89mfdQxjpkxoytLboK8+mF4LSdEyR+55Euf2wEbpZ6CmLip1mAdNrUNqBQXoTXK1K6dG8i2AMN+Nzf/6rWkPeDo47cysLVqifPFlaZaG3t0QsDLF1yUIJtLSGNnOj/3oRcHpwzhrEd7TQKOrxWei1cXIoDN+V4XCCdsqDm9UHvxUwNS7Bvz2I75Qb97jt0R9ez6c2WB/qtc2iG7gR+bvmljLxJ+6IqEPUhETQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gdT18Sg7lQ8A29hGqQyDQNU0J1+X2EfYjx9hOyg/Lso=; b=K0446+yPjhZH+Ne2lxA4JmPujkzpF01yhNDoExwNa809ZtzDa+8auuLaFyArmJiLclwpqXUsARgf4CvT0wGdeTiFdGXFOIZRfUERrfMVSgC0L1qi8Mb5lYiprF1+gEJ8adYsnLgJU5zLemUFR0WHoDOmSaFVrKLXNesCnMVmRokU7s9PUSLWaHRaqO+see5yfcnw4hqiOSo4EIOvHutTY+SuHEH/NvdIqIWU6WaTx78Wc/kYdMFKTvybEFFaVQVZ/fWtfF6ERcD7pM/Ch070dSX8vO4GQ6MG+qLsv5GD6MlB3Hz7YY/QZrCfF1TFZqpjiqsYY08BtLhjfDNtrNTS2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gdT18Sg7lQ8A29hGqQyDQNU0J1+X2EfYjx9hOyg/Lso=; b=kwK2VprrJxkIGryWHNWpjeGevBk5Veq98xYyBLYTvbfCyoCun5Q/+KjzuGTS1EawTUCLrXVUcSWqpJiN0xJmb1U6CStsIR1KrG5JQwOK7q9ueJGTyqfsLetz7wzF9ENw7qCsMNdR1Xs0HefUcxauz5oCNHayU/i0VLw070OazHU= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by MW4PR10MB6440.namprd10.prod.outlook.com (2603:10b6:303:218::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Tue, 3 Jun 2025 20:12:16 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Tue, 3 Jun 2025 20:12:16 +0000 From: Drew Adams To: Daniel Mendler , "Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: RE: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1MNxX/etjAVh5Ui1fPINMN4Ps7Px3deg Date: Tue, 3 Jun 2025 20:12:16 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> <87a56o4mfc.fsf@daniel-mendler.de> In-Reply-To: <87a56o4mfc.fsf@daniel-mendler.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|MW4PR10MB6440:EE_ x-ms-office365-filtering-correlation-id: d347a58e-b826-4ce4-0d14-08dda2daef93 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?EIrE+shxUa058g8WKtN60Sji9le3oXBjsLnqdlmwJ0pbDjv5VL4sfZpj9DCe?= =?us-ascii?Q?D2vTTjisCRoo5sXoGDKogqmMr3wJceq1WUtJ6zNQdOE0ovQ5N5zVib9kM1t5?= =?us-ascii?Q?Fbx0qNrHAFp7rSJd9Bg64TvdRkxCUJUWcLAIRWTIEA+FdxEtCeuUAyXGZKVU?= =?us-ascii?Q?HWUqyMvjpJXI9TIPxOk84sQb/h9CpZbQzjjXR+rHSjn0tRJ1CZgr8fzHZjvP?= =?us-ascii?Q?TQBWGkTdNmJaEDcRfsvId58l9hBCbuqIL5nQhE07WT1pvU2Zari1c32jo1Kq?= =?us-ascii?Q?nXYX3+D+NVNtNZkexHNXyKJQtfFQDhjCikIonnOdxnaUCzyrh4Av5Sltb6Hu?= =?us-ascii?Q?qV5uZc50Vi5B+GO6TjrcQ/Ll+SHNWm2vFazrMbHu6lNHv3LU5qzldP2U1lGu?= =?us-ascii?Q?T7pQFSCjMwYjKtTxwtAsLjxIAjft/frFWctIoP47ZvazRp/r3hzWyV+nnk4T?= =?us-ascii?Q?Ign/gg7u8e3L+AjvppOHlHIrYpmjaBjVaxrrny2t7jx+hFpU0juWeiSlnL/1?= =?us-ascii?Q?xpxjc+ZXWRf3QOOGL0NlpP1beeCXkoXSCbJxFF3izpYy0Hx5Rx1Hgs68QePs?= =?us-ascii?Q?CGNrELVrQ7wq7j4JZ7BHelbQuO2niNDZE1ZvbF6slCzOf3PNpPugt77A3SiF?= =?us-ascii?Q?gsyIroXOTj7Qf27zlI6x1H5n6vJNplNRdcsu8MzJ+F+BJVOd/UVoSpFy2t/J?= =?us-ascii?Q?QiJ8twFklBAnqishsipUVd525FVk5Jr4PDbqq0XtsDktGBNeNubHDdJ8o1fQ?= =?us-ascii?Q?Hvl0uML9jehxh6qax5J+sCQbBW5WVcgpbrLYAVEtu7qkGURAjGCtlJ+VMA9/?= =?us-ascii?Q?0i0NZeF5bbHHzwQ4wjSrYdcgS+4PGi6aWxWQ0bRLlD8B3q73xNjqd2kMlh66?= =?us-ascii?Q?pnatbTb0U3uwXrOAQK/ZcUvYeG4q9g5txYT/j1XDR8sro3gnFGHI3r3xl2qB?= =?us-ascii?Q?lGNYoZblhKIYlbeMkS8yWvED5TXwOFxMMO9OttMyC92LQCWVNTkfbb6pvl8H?= =?us-ascii?Q?QYreMFEOIjnb3OlOyGOVy/F2h0iEely4cC+BturtaJFsxhwlc3DMmUfy+mtA?= =?us-ascii?Q?uZFdpmEdPkDUHf9RyFubITli/F/OoDkxdINfQ3GlsZgW+AqK7WIFOTkp+0jc?= =?us-ascii?Q?EWK2SnS2ocuFKv4CX1eskDW9ezgXENVjQ5jUQp7FgabqP+M1TOYaZ0da8H2m?= =?us-ascii?Q?2UlRfjMtnl84arzflOqBfOBm+Eti1fmZxRmA9nPBaJyUt+/dKwmMZNRLTJmN?= =?us-ascii?Q?vKFRKm2Y6hP0hZIn5K2yq91ga9xQaBQpJjaKvf7up1MrsY9p23MR9vW6pPNs?= =?us-ascii?Q?HEKPshKj1leu9AW+ZhV7FJDz188O5b8FxAtb8SjdprG4W8Es7KY56pxy9GVd?= =?us-ascii?Q?H4jjeUz/IjjneCUe9wFi1zmH74aTeVpo7NHFP6VCBV9ViyKJYOt6RFqNLwuQ?= =?us-ascii?Q?UR7I4FYWE9UTa2yaOlFWgNr399tKlqYny7bCfUK71eir98qe+4VmuVUp2Y/n?= =?us-ascii?Q?X3R+nT6vw36pt9k=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?4qC47lcICSdH8hK4usMj4azqWofQWkrFRawGs0nDN9CFx/e/2m/zccAQ3LsP?= =?us-ascii?Q?8K7AGkjeTBh/PNw6DOYUnTWT3syU+WG+6AAcDArIu9mD16ZraDQWo7OSD2Yx?= =?us-ascii?Q?ikTAj2R5zX7wyn+x6SRXTZIteT6v3FgRSExRSAinYD5ccBUQ+TjUeA4NoEO0?= =?us-ascii?Q?Mxd8MVy3rSsALTlL9/wAcUSuZ43jyUZpo7GFRtlLAGKN1YRfZj9488bsGfJ0?= =?us-ascii?Q?UV8P+gTZVNkdieYGy+LxTMurR1uAVNkFp3OYCO7QZbPt8b1cLWZkGcugq2wG?= =?us-ascii?Q?GQzBUbDd/Jk1P881jgG0uu6nuozgatYZOusLab/MvSNPZQmGRUthqSGW/Seu?= =?us-ascii?Q?HQ6F4hbtyLW/+NhjiSGQjIw3xyKBlZNYxGXjLMNMI5H9XZVHA3x+fhz7a17r?= =?us-ascii?Q?yMssuBnyVolJUIEOWZ9hk7zACn/Qzx2YNTp5XIxP9dHH11UDkjqaCOxT5HWa?= =?us-ascii?Q?n6NP/VjJjU8CLpRysMTuZNv4NC9ipaHJdg2DjmxysI7xFPJLCHkwrvwkfA7B?= =?us-ascii?Q?+7y5JidBjtAy2K7xdkhdXf+iJn5LaAMrTz1UH/mR1sMwTklMfa4/dLMIZOI2?= =?us-ascii?Q?pBB1L3yHQn+1JIRmHh2Jgar+yqfT5irAn59hbPF6xsS1bijsB3dL1tQDTyvD?= =?us-ascii?Q?Gxei7yGy8RwwDky5FZUykmATlGbIyF5GAUnbW9CfJgqbwSHHhXnJk7WFkA72?= =?us-ascii?Q?W/OrceXmE8AeWQDntTTJkKl2mgd2SoYPxlxa4F1S0S/fQ9IstNdNml0zuYYX?= =?us-ascii?Q?1UrYiwCRe64VSPF+/s8tpciGLbSFx5FJl+xm65miWhJ8CsCr56bFfc9f5wNt?= =?us-ascii?Q?EtaCHVSTtLAAKDDgAnE5zsfSp++XNVJ/2dozPlj92l1jf9gwlYhFPF9KYmCE?= =?us-ascii?Q?PJmmM03dxCJ0BO747f5SpTUzr9g8oSRB44c4QCu345lH04L7uEpBHDZRmCOd?= =?us-ascii?Q?U4U+XEdXQr6mHu0fe3insNWBFLPrP2+rs0/on6xyAGrmDvi8HivIFHEhQIew?= =?us-ascii?Q?TbIJsmXPSQQPNX2Rui28kNwKenlFCR6RO32molZJZGlbVqlsihkBlkhqF6A2?= =?us-ascii?Q?YnTi9w6QmXY+RqVaDhijMmBsDAyIQfdzt9xysUdj/677rbRwgKZwxNFsonCI?= =?us-ascii?Q?zqRX4qQPsAZWay9IN7UtpSIlDGC7BFwf7U7BHUihDxAfdzt/3gGD/Oblbzsj?= =?us-ascii?Q?ryNYi8vtPOc7qA4jf2n+eFCRgi1EpusavGnMB3kh1VRFbez3YEGjePMS597T?= =?us-ascii?Q?PUi2XROsxVKXs/7wc00CDedOKb5VS8KjfJEkbGjhje7c1tIfukqiH2z2dQYN?= =?us-ascii?Q?uMXlStvCNZimChizdEiA3IDB5pnMc5JWluZ3BZat7COYVD9dnK3LfFGo87jr?= =?us-ascii?Q?NqLZtXX7jJNMXKCdbLE/zI6naXGGc9EfUFBDPAsSiBs4Crkr4Y8KwkFrB0sR?= =?us-ascii?Q?PqOVnU1+sgt1nRM7SaaQigAGBm7+orUBwGbFHU6FEcL6S3FZrABLaRIa+a1B?= =?us-ascii?Q?hC543FEIxzCfxkNfITb4j4XoAdLdLws1DmUdYr2VsCfJQD+UXNtKreSrR4iY?= =?us-ascii?Q?w3EaNMIlvXvH8mx7zrj+o4Ya0TcQYqdHf8UIuGwv?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gt6E7M2iVTQ2AOUA+QdZyfvPLXL9gQjEkL/5RL1bCnJ0soh17fDfsYGMn8mg6pIqUMK8W8DgMmX3hti1aOIib2WGJqwPIlK988cwckETx0xaU4yDGSAr9EKkftsE09mLswYTL/vEbP1KWH4M7FY/05eScLwMMocKwdgEBLqmafLjGE4vZivlMntIkh555nsNpY7bJLDcRi+sfBrUmiPhGqI6IuVsraZ50EuI9Vay566+Lxir/KGDI/ROrELpUtbxT90ZccjmT/7UkUhWDoRRehVtKkT17j3ZQoTIDBzF6AkXUmgiP5WwkV3ENlgSV3xazPj322ldcmONTlItk6MdB/DpM/eiZ82DeOeCLQKIzLLw1kKB1Cpv+31BNCeNxRUjqMGmmbKBE6pEwjWIFe431x8jZxI1vyk/1tO1PyvXb39kfEe5FUx3Obd+Q5wALIw0eYigP/iQWKzvAb4kSxHEETBk2pq1S0IRtwOUp45whLsRbSIA8G6hdit3Q7Uif5aO1+VBr7HCQ5AB1+bJdk5sganClLkqKEvA94bQkkbXSsmmLyxzCbKUYBYssMRRMgf76vx2EnV+mdNhG/yUEwC8z3eEY2wnXNyGeV7HI0uno8s= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d347a58e-b826-4ce4-0d14-08dda2daef93 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2025 20:12:16.2058 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tuaXYwNVhh0hDjbL/sO0hA5wNHZXY+hbHxy4s2Np298B3oR25umlbFavhhPgOlkwzkbNJZWkf0kIuOv7ray6oQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6440 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-03_03,2025-06-02_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506030175 X-Proofpoint-GUID: JSITn2YbCz2JZhYcg88TLQZSFLe7jD7x X-Proofpoint-ORIG-GUID: JSITn2YbCz2JZhYcg88TLQZSFLe7jD7x X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAzMDE3NSBTYWx0ZWRfXwtFPZUreTx3h dam4md+2bFZk/gy7oZkLxkUxSTlkmolDRji3hoXCvDsROt4mkC3TSr4gjI+Rgd0EIdhMv7dd1Tl 57PBs88nW/OrNsZTI+oILRoKKevr6+kcPKm1a6H72EYb8uNSju38oXqkSnxFHchiqnmmGAXT8KU TaNWcIsrSh9DtR3KYO5Vva5lo99aT7g5kypAUGT2nTkCYGOyNevu2OV3xkl56FDHDVk5jD69vyn 3RCxGVLCAbHqqugMMbiF7gq1+7Tz6dONyMloG/Z0WeRRLe7qb3cn6Qb6F6T+bFhu0h58oRGyTB8 V9Sb83/AgafvrM7V440AK80MJkMnneMUhtM51RV9xzvM8mMWGJzgFMbumbRjPChXsMW62kv+Xkt BT0NkwdFg8msQ1diz+J8UnqWW6DuYIbVLMV/XAAw85YlMLpPtH74ptIYwJfhQgUqGrDGnuqm X-Authority-Analysis: v=2.4 cv=QI1oRhLL c=1 sm=1 tr=0 ts=683f5723 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=PEZ-Wg1DHVaKK8_oeqcA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13207 Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: Phil Sainty , Eli Zaretskii , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, "juri@linkov.net" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.0 (/) > >> Feel free to suggest patches for the documentation, but please > >> remember that results of calling completion functions can depend on > >> the completion styles in effect, so if we want to advertise this as a > >> way of producing the largest common prefix, we should probably bind > >> completion-styles to something specific around this call. > > > > That may be a good point. In a way it's too bad that > > `completion-styles' affects `try-completion'. >=20 > Note that the `completion-styles' only affect > `completion-try-completion' and `completion-all-completions', but not > the primitive `try-completion', which always computes the common prefix. Thanks, I'd forgotten that. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 02:15:15 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 06:15:16 +0000 Received: from localhost ([127.0.0.1]:45978 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMhP9-0002L1-DR for submit@debbugs.gnu.org; Wed, 04 Jun 2025 02:15:15 -0400 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]:38397) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMhP4-0002EW-30 for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 02:15:10 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 9AC22439B4; Wed, 4 Jun 2025 06:15:01 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> Date: Wed, 04 Jun 2025 09:14:35 +0300 Message-ID: <87wm9sdom8.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdduieelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepihhnvghtpeeluddruddvledruddtfedrvdejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepfedprhgtphhtthhopeejkeeiheekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepphhsrghinhhthiesohhrtghonhdrnhgvthdrnhiipdhrtghpthhtohepughrvgifrdgruggrmhhssehorhgrtghlvgdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > You may be thinking of your use case (below), where you > apparently want (1) a Dired buffer for each descendant > directory, (2) a Dired buffer for the top-level dir, > and (3) a Dired buffer for each subdir marked in each > such buffer. To avoid misunderstanding, here is the use case that I meant: 1. mark the file dired.el in the 'lisp' dir; 2. mark the file vc-dir.el in the 'lisp/vc' dir; 3. in the root dir invoke 'dired-on-marked-files' and it shows the list of lisp/dired.el lisp/vc/vc-dir.el From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 04:36:58 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 08:36:58 +0000 Received: from localhost ([127.0.0.1]:46865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMjcG-0006Lw-VC for submit@debbugs.gnu.org; Wed, 04 Jun 2025 04:36:57 -0400 Received: from smtp-1.orcon.net.nz ([60.234.4.34]:33793) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMjcE-0006L2-2J for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 04:36:55 -0400 Received: from [10.253.37.70] (port=49058 helo=webmail.orcon.net.nz) by smtp-1.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uMjc3-0000LI-KV; Wed, 04 Jun 2025 20:36:43 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Wed, 04 Jun 2025 20:36:43 +1200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 04 Jun 2025 20:36:43 +1200 From: Phil Sainty To: Daniel Mendler Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <87a56o4mfc.fsf@daniel-mendler.de> References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> <87a56o4mfc.fsf@daniel-mendler.de> Message-ID: <4d4c58137f0ae9775eba9e08b141f31d@webmail.orcon.net.nz> X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "Drew Adams via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , juri@linkov.net, Eli Zaretskii , Drew Adams , 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) On 2025-06-04 08:09, Daniel Mendler wrote: > Note that the `completion-styles' only affect > `completion-try-completion' and `completion-all-completions', but not > the primitive `try-completion', which always computes the common > prefix. Thanks for confirming that. There are a couple of edge-cases for `try-completion' which made me think a new wrapper function for the "find the longest string prefix" case would be a good thing, which are: (try-completion "" '()) nil (try-completion "" '("")) t Hence: (defun string-common-prefix (strings) "Return the largest common prefix from a list of STRINGS." (let ((prefix (try-completion "" strings))) (if (stringp prefix) prefix ""))) In both of the special cases, an empty string is what I'd want to get from a function for finding the longest common prefix. In the case of '("") that's because the empty string is the literal correct result. In the case of '() I think an empty string "" is the most useful result for code expecting/requiring a string, avoiding any need to test for a nil value. One might argue for returning nil here -- but any code wanting that can test the list argument instead, as the only way for (try-completion "" list) to return nil is if `list' is nil (or if it's not a list of strings, which I'd consider invalid enough to be ignored). I think this would be a more-discoverable and better-behaved function for simple "find the longest common prefix" needs. -Phil From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 04:58:18 2025 Received: (at submit) by debbugs.gnu.org; 4 Jun 2025 08:58:18 +0000 Received: from localhost ([127.0.0.1]:47002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMjwv-0000Gy-OV for submit@debbugs.gnu.org; Wed, 04 Jun 2025 04:58:18 -0400 Received: from lists.gnu.org ([2001:470:142::17]:50132) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMjwt-0000GP-Pn for submit@debbugs.gnu.org; Wed, 04 Jun 2025 04:58:16 -0400 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 1uMjwk-0000Nk-B6 for bug-gnu-emacs@gnu.org; Wed, 04 Jun 2025 04:58:07 -0400 Received: from server.qxqx.de ([2a01:4f8:c012:9177::1] helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMjwi-0002oQ-Ho; Wed, 04 Jun 2025 04:58:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=daniel-mendler.de; s=key; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To: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=2i0qCwUYbK4zTRKkLtsJp3VO2ZngP8px5ErU4mzUf0Y=; b=wwHO5dhBCVMiQ0ZAJGpsAGv60M Y2ca9nuBCBSoHnDkfH7igzVT4yN+pEh1XkK8qmD7Scv1toqYpGwuZSMDkXA+LfWkKTalFSwNc1+19 PUjafm1Q5b+GvYImboAoeGDDNZvYiBI5+8KWrM4FsJxkaq6gQYvYF6JyAIGBbQSVglzE=; From: Daniel Mendler To: Phil Sainty Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <4d4c58137f0ae9775eba9e08b141f31d@webmail.orcon.net.nz> References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> <87a56o4mfc.fsf@daniel-mendler.de> <4d4c58137f0ae9775eba9e08b141f31d@webmail.orcon.net.nz> Date: Wed, 04 Jun 2025 10:57:58 +0200 Message-ID: <87jz5r9949.fsf@daniel-mendler.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a01:4f8:c012:9177::1; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit Cc: "Drew Adams via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , juri@linkov.net, Eli Zaretskii , Drew Adams , 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.1 (/) Phil Sainty writes: > On 2025-06-04 08:09, Daniel Mendler wrote: >> Note that the `completion-styles' only affect >> `completion-try-completion' and `completion-all-completions', but not >> the primitive `try-completion', which always computes the common prefix. > > Thanks for confirming that. > > There are a couple of edge-cases for `try-completion' which made me > think a new wrapper function for the "find the longest string prefix" > case would be a good thing, which are: > > (try-completion "" '()) > nil > > (try-completion "" '("")) > t > > Hence: > > (defun string-common-prefix (strings) > "Return the largest common prefix from a list of STRINGS." > (let ((prefix (try-completion "" strings))) > (if (stringp prefix) > prefix > ""))) Note that try-completion can also return `t' and in that case you want to return the exact string, not the empty string. Also you may want to bind some completion variables like `completion-regexp-list' and `completion-ignore-case' to nil (or to an `ignore-case' argument), such that they do not affect the result. These dynamic variables are not user settings, but are usually let-bound inside completion style functions like `completion--pcm-all-completions'. Please take a close look at the documentation of `try-completion'. In any case, I agree that such a wrapper would be good to have and easier to use. Daniel From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 05:44:01 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 09:44:01 +0000 Received: from localhost ([127.0.0.1]:47275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMkfA-0008VQ-RS for submit@debbugs.gnu.org; Wed, 04 Jun 2025 05:44:01 -0400 Received: from smtp-1.orcon.net.nz ([60.234.4.34]:59997) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMkf8-0008VF-95 for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 05:43:58 -0400 Received: from [10.253.37.70] (port=37774 helo=webmail.orcon.net.nz) by smtp-1.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uMket-0002Fc-HQ; Wed, 04 Jun 2025 21:43:43 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Wed, 04 Jun 2025 21:43:43 +1200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 04 Jun 2025 21:43:43 +1200 From: Phil Sainty To: Daniel Mendler Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: <87jz5r9949.fsf@daniel-mendler.de> References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <86jz5tnhcg.fsf@gnu.org> <87a56o4mfc.fsf@daniel-mendler.de> <4d4c58137f0ae9775eba9e08b141f31d@webmail.orcon.net.nz> <87jz5r9949.fsf@daniel-mendler.de> Message-ID: X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "Drew Adams via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , juri@linkov.net, Eli Zaretskii , Drew Adams , 78658@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) On 2025-06-04 20:57, Daniel Mendler wrote: > Note that try-completion can also return `t' and in that case you > want to return the exact string, not the empty string. I believe I've accounted for that -- my function is passing the empty string as the first argument to try-completion, and therefore "the exact string" can only be the empty string (AFAICS). > Also you may want to > bind some completion variables like `completion-regexp-list' and > `completion-ignore-case' to nil (or to an `ignore-case' argument), such > that they do not affect the result. These dynamic variables are not > user > settings, but are usually let-bound inside completion style functions > like `completion--pcm-all-completions'. Please take a close look at the > documentation of `try-completion'. In any case, I agree that such a > wrapper would be good to have and easier to use. Thank you; I'll make those changes and check the docs to see if I can spot anything else. -Phil From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 13:19:51 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 17:19:52 +0000 Received: from localhost ([127.0.0.1]:51788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMrmJ-0001Dr-4D for submit@debbugs.gnu.org; Wed, 04 Jun 2025 13:19:51 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:31586) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMrmG-0001DB-6q for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 13:19:49 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554Fe2jL032371; Wed, 4 Jun 2025 17:19:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=cBCdit8dlwE9UiTK6VHG0D62lInpBnkKEHo98byG8lg=; b= g2ER9WsCUDl95P6eZH46HOnnAFtoOaPx9+K3YuFPaSMOmQeT+Jr5rOgXPPirKH6c 15wJuFDn7y/kYedG3528qduzecWtvo7TJzXiFoR9VF8b1Djzn/ZNzJZzs7eXP9rJ B3bS+0AofV0YTg4g3tCpiaEDbiDeUXPV2qG5U5LjgXjTGIK62UcTEOElCRIqywzz qyQ0phJL5Y6e2ivzv1rE6/r+y4+0ZpMba3XwtutycLpGNFSo74lD/ElBnSHXM5aJ ZSoJSezV3xdmhflVeLGoq26WKT2ZRUQJG60XZY0BXnWV/Rmm1GKyvA7yiy2NrSVl Z1nkLhJdJT7onqFVJJd81A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8dvh28-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 17:19:46 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 554GR5ct034498; Wed, 4 Jun 2025 17:19:46 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2056.outbound.protection.outlook.com [40.107.220.56]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7b1syn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 17:19:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VgEOtx06uhqrFBBRsyyc/8V+CQ2XY4MoU+INyZj+5H2o/dqIVCgOSqD/AwrpBkPeRcQD5Jr/QWUvvvpiZt0UMO+MAGpJBEAYtjwkkBg0qlTJuj2d/kulW44XX2F2OA33OPR/BqIzhwOLlLq4h80jX2fn3szUkeWPcDFQq12lcWgFT3Tb5YMJ709SNrB9b28KV5KdZdPcvST3Grsmx005/RIkx49esyxXT8851e+VENAGApqokoDsDyEOtTvlXlZKj2HyUQzfbnA1dTp8wbZJwfvDa+6q7ynAcDaYxl7dlfXEhri3igcajg4oj3A1Jds8vGGihu7Pd0Ue3PWazurJ3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cBCdit8dlwE9UiTK6VHG0D62lInpBnkKEHo98byG8lg=; b=IUzrWTrONThs0sY/vV9OhDult66tVJVYqcCt/+hAzX8jSjzjFre37A01Sl10bbTr9boqrdqSmXwc6uR2spk4Ac3OnBTt7lRllKjwNmAvc1/O07xF/fTlZalBApMgDphFmrDQRVlatUsTTjkwtNeCFnuVg1XGFEi/8NmswEc/3+fbSRqq1/gOJfuZ1FaKWnPe2+8jYZuHODv4UnkUV40EE7D9kZXen3tukJsQm5NyCQnSIYuNhrDauv37nODir4cTyRjXb7A1eO/sD5Q72PvYOgUw6Np50hipWXqWJni40gYptwb7j9jwUo97Ej4v5681dLafs+EL4lquvXb/9AnfIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cBCdit8dlwE9UiTK6VHG0D62lInpBnkKEHo98byG8lg=; b=Y+fT2HmyXu37wK0z7vI5SrYU1x7cXLS3rH+CPVsZ+aoXWaALJWS4kL4+O6GVuNFjy+/JUoVjVjxOvpXS3fTk2MK+bgU6QITThEEL3Acw/f13jOFO6VACGXWa5ZxZqVxzVz82iNF+2znhGrHqBXtSoMm9LWSgZFWoOgL/wR8KG+E= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by SA6PR10MB8112.namprd10.prod.outlook.com (2603:10b6:806:43c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Wed, 4 Jun 2025 17:19:43 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025 17:19:43 +0000 From: Drew Adams To: Juri Linkov Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1Rfx1lMmW3O7QEGlOrnlsYt9f7PzKTXA Date: Wed, 4 Jun 2025 17:19:43 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> <87wm9sdom8.fsf@mail.linkov.net> In-Reply-To: <87wm9sdom8.fsf@mail.linkov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SA6PR10MB8112:EE_ x-ms-office365-filtering-correlation-id: 203984b3-19b1-4f55-3a2e-08dda38bff72 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?0CZbn/K5qEBxzRRbmb244iUxhhUIdW1H6sKsutSkaFsGlzveBeNdP9kC0HZU?= =?us-ascii?Q?tmpS5oYWzjFEKgv/V0uhV10okIpHry2TqSphHXlmutrvz98Ku1FjvI3ad0Y0?= =?us-ascii?Q?oiszXgL537LsJKdy3Ye36qgvPZnye4hgyf8if8TTmapy/yzGdJWhv/0yqBiM?= =?us-ascii?Q?LPHRihjhOm2oElgY0KYq8DItVZg9O6kJNa1eWi8ZEFPG+bIUFhYvzjCTRWxR?= =?us-ascii?Q?9cXfsHP9Jns8qmtjCjgZAgbvH3vil4tNOmpfe0/fIIVrXACw6jZJ4rh9c+ij?= =?us-ascii?Q?lEs8o6TEZqRnS0jg9+4m+QN1pYykdaEPIRIi1TFyDH1ynmwUxPozFI+QkGGn?= =?us-ascii?Q?oWEiunpsI5W1aKKiNK0/PG/TNspzurCt0vU2VBJl59D95Bl7ACTaHN4EKeF3?= =?us-ascii?Q?vNxdiB10ROBx1ZZUsaQfVW4/DzEbY8MbIwBDyy9CvQNr7UgNU/IfuVUJ426M?= =?us-ascii?Q?WZJeqmyiSX6Gy6LahCBhvMEB50pBPI+YSljVrN6wILfCIg4RaXldcrIBVz59?= =?us-ascii?Q?cKs7BGeF+x1NhH4plwKab+FEjtm60yGdJzoqFgCJveVmfngtz5jcod1liWv+?= =?us-ascii?Q?GSsITgvhahApRoQSCHJbhXpo4tqBA5rGb3vRNDIIrN6eMonwo0Rr9Y2CFzuA?= =?us-ascii?Q?0R1UB7ZOpig/QsI6WYfyWXTk4v3+5jZH4ghDPI1Fgs00Bs5k9P+cBv5Hcgx0?= =?us-ascii?Q?NqAJV7MBbNRhhz8W4C8EMQ8qzoXaJIrUdp98hprEAsvijwJyhmW+p0ee3duP?= =?us-ascii?Q?AUmDg6DaRgo9wxuVIHjQ0HMBFreuAfN65jIz7eOHdROWJVgFENOoWtSHesxI?= =?us-ascii?Q?FYOpmCwDRpENE7PnZDu8xRSCnYbUcBiQlLywjIN0FTfSSbH5KeG5v5xrLZ8G?= =?us-ascii?Q?Hz5WWGMYSGvOg+KzeaPeFXmyQqtwnyQ3fhHm0rhudNvqXU0trN3CGhpz4YLO?= =?us-ascii?Q?jkiAd7J075wh7BWLyfcDNBvCSyzLNVOUnQWL9e5aA/shxzSiRQvlHZAI2GeU?= =?us-ascii?Q?KLmUezY2MIn/obqbcUwqpyWT0p0fL+yVJp+W8nXSKbowk4HqwhxXWbHVNPUu?= =?us-ascii?Q?ReuUjoOojNyAeG2m8bKNcbJF8pFQZlXZB/bVkvjn0casNbnRK6jGM+PdYRtC?= =?us-ascii?Q?rfCUTPo22Y9awqqlZkhj/eEIetsSkS50lzr1XcdQPu2wBSXVMD1VJvDj0Xgo?= =?us-ascii?Q?OiIe0HmqVO9KmWbhcB90gcuIwZhmTo8mWDmJVjXiy8aQumwsEKP+Iu0TzB3X?= =?us-ascii?Q?pXYtfqp/WHWNcqY/3Msxb09rl9EJe6rCwW/Se7fqMyUb4D/gixkTItZ4sjl/?= =?us-ascii?Q?cmWWe5DaUJZzD6SCg8ID0jyMrJzyrMxCsdNeL4sx/Lw785EqGD8sYLHtHULJ?= =?us-ascii?Q?ffreP5vQY96xDZOJtWNLPFoOm7hTFO+yOWsAhn5WsRgHiGEi0cIg05ZlrE2B?= =?us-ascii?Q?kWD0ChcqP36HYALYlNVYd7Gs7lVIW6j6gxob6LG1EfVTLwu7SHKXNNfhE9tE?= =?us-ascii?Q?eGrcUyISZOoDpsM=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?jIzTHr/0laxVCgkk2opkI+KX14HX6IBh0n+UXa//A26FUfhdJuhPvDW7rWuY?= =?us-ascii?Q?cJfQUk8UcAvVZ1jcgWpAq4M5i0l2zAJPq0UnuxtAl7w9IC4ZJLihg31cU2sK?= =?us-ascii?Q?/Yf/BJotLGfoqMfJGRdlPykkW5A1sBuaAnDebUGG4gxHDfHOmW6ybTnxqC/H?= =?us-ascii?Q?GlwLM4/prPGS/X+fH+ZAnh/FF8o3UqHqFkDrvgZMGyE5Kg0wVqowiQSGD4ZN?= =?us-ascii?Q?8fMrHgmRn6MAWMDIGZhMcWBHASltX74wmCYRFkaJJ/81MasJpr1u9TG4fOys?= =?us-ascii?Q?lNui6OHK+BrZoE1FqU4Avw9Pph/izTpxrt0cVeg5OjV3QT/LQCAiGjxmaURf?= =?us-ascii?Q?3GpBDf1EUBfmQVLR2w0nQvOrk+ZEdOmmAnDhq88MkD84KRvsykU2tAu+ggYM?= =?us-ascii?Q?0stq+iTzwO928PqebYZap5OfzLYvs+lAH+ytpyNmmkLvBo9vc8D/3rGR7nrE?= =?us-ascii?Q?+3O23pFiVci5JSK7Px3NBzlIyAkZd/W/6c0ybQPhU7tQb+qq3ZrBM+JekVNb?= =?us-ascii?Q?OsBAN7RRONx8e9rNkF/fRvQCe1x8+r6KwDUv0AgfEihVwrtYY79E3nAxjt3r?= =?us-ascii?Q?1PSHSAZ6fY9CSwNhDUojZ+mMTre/+zHJHenMBDL8NSD4yfVMHkGbS6QR81js?= =?us-ascii?Q?n7KGr8dM7pTHzWwrOOiWvdxkr447f6KOZAYksj6AzKKjWwNpvxQbzg5X1zTX?= =?us-ascii?Q?SAZiSzDNMknEFSiKGDEwyu8yNnBBkJB+SnsnystJuOBgslI9oGZqFPKbnwXI?= =?us-ascii?Q?fK00PG3xVcR8cEWnyE3AxTo6PrXKk8M73ARUQIHavAC4XbUpS0eDzqggQmpB?= =?us-ascii?Q?jIC+rfcQpAsw0rW4fVmoHGy7tMe7TlWkkHDio2UhIG3kS7dBUJiOg0h2gYJ2?= =?us-ascii?Q?0IlYIntPRgKu7yBvf1UWcQ9r9BtRrbdq/wh9fhtYJWtIRoAAwS1EIxIwpMUj?= =?us-ascii?Q?ACnS14lpHE8xtyvtbUlgLKcBTay0aCopeeXkYHHilrWKqGhNveP3tQZNiDki?= =?us-ascii?Q?aK6VZWtnOOqAPU6aN+OlcOZmXmtxfLeAmO9zD2Z24sGMeo+ZM8u+8ADLZnbu?= =?us-ascii?Q?WvWJZWTRGZUaZLHllJau7sx0CMzg2FeZWd5AbRoDNtKZVIwqxCtABlJ5Hwu8?= =?us-ascii?Q?Y9+FuTKXZS7Q+VbP1EY1pAqSAiwaIBHQEWlYtKzRTr/V4AbYkFMNIKiWWsvw?= =?us-ascii?Q?9OAm/9xAeVGPF54dpM81xx6dAKW4tLW+D8rLYXCGpmh7vup4xHvxrZxzew7r?= =?us-ascii?Q?824LcJvC0diolYe9R+lrV5ugZHDA/OUex3obg916U5gFIkC49411NpoN8TA1?= =?us-ascii?Q?Ik7yuUYl2ZofU8T5bdAm977fM+c1HjjrC4A4mgetU2H0TDc3+vGqqr3yrX8C?= =?us-ascii?Q?v1IIEbVglJR1eUmJPWOioexOeRr7CmdJ6I+VWL7cWqFJO9NNnAwymGsgcWjl?= =?us-ascii?Q?w8UGmIfGUA8C5KnFboDVWd9tkl/thw/BNLpfFjz8jkpxobm1WMBIyZaBNGVv?= =?us-ascii?Q?rj6tCwhzTSSRP/bnVmelkps5BYigoPPLpxwkWVDvly9i6XGIXQe8zUFM3Vhw?= =?us-ascii?Q?hEYM9GumFeW5p3bzCf00mIptjdP9Ya2LOcuCSp1H?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DQBglPnoUyM4Qq6NYe4KHQRXSp85SNEzeUq/W8cNjE9tDnGPvdUig5MOsKZazq0uvsvHVRWBTQJkitvg1g6rppzHXzMIqm7YkGO69XWdFf0Oc0HJwaPsx46bcRdANgHWp32TVZjGCSy37V1OKa2bNdnC/Msjpz+kBcf3yNML9U1pduW1xGfBb8oIvEielZgUsCmdt8TG9RsPIs0R2XwxdrFluM/xRqgsxo3LSdju/DrCY0wu0JAM/DQToPdEvQdiwstdTe36O2tdIGkwc4LFYJ+Yh++OpOFKa66tkpevDQFMsFQNzInLjwSW8U0VkiP7gLvSaHfQxjdlN8VJ3RvMtqi5w9cKhiecPLt3ufvpZqO50SF8WjeJQmU9I1QTnjov7/U7+gSpy/qQyjDTTbzIWP+lQiUoSi0VM442kFdBogUvyGipbHkH7QgOmCy58cCntnZ+YcyQVPYyIdyPTCoI/vBClhheVPaGZ3KlZkBwXCfGLxLjCoB8QizeQd8xdAUfdzRGcrDCymgDmPjkTdKWl0shr3zspqBw3kpjzzihCjyKlqbctsWSZZHm5J2rXv8W7DG3LNAxM4rXbzNiJ5X13MhviqWi2Dwv+srkVib7vOM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 203984b3-19b1-4f55-3a2e-08dda38bff72 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 17:19:43.7855 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: G5i9N1FxAtUignOYBSz937z20HRas7F2fBHPQTgwLcEvnBj7weCjJcCwmkCpSvKbGvK2jkXBPn+Qqob1c233Ug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR10MB8112 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-04_03,2025-06-03_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506040133 X-Authority-Analysis: v=2.4 cv=Va/3PEp9 c=1 sm=1 tr=0 ts=68408032 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=oM0Idx59C9M-VCUsUlMA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13207 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDEzNCBTYWx0ZWRfXx1f0yulLzAvM 7vrNVFLgaLOkq236QJleyUY/lHWUA8gK9lrkj/+1SS5prGqIttHswnyt1M2qsc5O9sH5jjfg2Z6 6tWEWxOgqBveKrIuS5jdmAF/umr9mm89zYFRWYVE1G5Nhy3aPmt1hrfiWB5Z1aGjEjntoj/Bt6A nUKujITTRNe2deNrH/bWELW4qrqdP3d4SsAWNCoWV1+PxiDLzorYjxPW0Doqsjrdx7Jw6zIJasm V90QXNW1AIBOdV2mlSvtF1quu+qrTC5GvSAvBMMSCRPDAsL9qyUCxKOZZoeYnnShL/JbdjHE9Bk Rgx221PVd8OuKAmHCX3268IyXeRM88cNegkRzB2EZSyhyeGTa7H/2h1DcGS8iuSeDScMbSVqMUf /PE9yaLMlsy8R1cEGKO3M3uX3N2Exf2tuiG4+FMFY+rsHIfriUGLxV354SehQLkERFEFv7vU X-Proofpoint-ORIG-GUID: Fao7T4GveZYt1dY54Qsj2uozkys1TdLD X-Proofpoint-GUID: Fao7T4GveZYt1dY54Qsj2uozkys1TdLD X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > > > Dired+ has long had commands that act on all marked files & dirs > > > > in a Dired buffer, and all marked files & dirs in Dired buffers > > > > for marked subdirs,... defined recursively. > > > > > > > > IOW, instead of (as in Phil's feature) checking all Dired buffers > > > > for markings, such functions check only the current Dired buffer, > > > > Dired buffers for its marked subdirs, and so on recursively. > > >=20 > > > It would be too tedious to mark subdirs, > > > > I don't agree. It's simple and practical. > > > > You may be thinking of your use case (below), where you > > apparently want (1) a Dired buffer for each descendant > > directory, (2) a Dired buffer for the top-level dir, > > and (3) a Dired buffer for each subdir marked in each > > such buffer. >=20 > To avoid misunderstanding, here is the use case that I meant: >=20 > 1. mark the file dired.el in the 'lisp' dir; > 2. mark the file vc-dir.el in the 'lisp/vc' dir; > 3. in the root dir invoke 'dired-on-marked-files' >=20 > and it shows the list of >=20 > lisp/dired.el > lisp/vc/vc-dir.el Sounds like we're miscommunicating. You're now talking about `dired-on-marked-files', by which I guess you mean Phil's `dired-on-marked-files-in-all-buffers'. That doesn't require any marking of subdirs. But you didn't reply "It would be too tedious to mark subdirs", to anything about `dired-on-marked-files-in-all-buffers'. You replied that to my mention of the Dired+ feature of selectively acting on marked files & dirs in Dired buffers for marked subdirs. And you seemed to be saying that for that the most common case is to want to act on all marked lines in all Dired buffers for subdir listings (at all levels). IOW, no selectivity. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 13:51:59 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 17:51:59 +0000 Received: from localhost ([127.0.0.1]:52042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMsHP-0004mj-1i for submit@debbugs.gnu.org; Wed, 04 Jun 2025 13:51:59 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:36367) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMsHM-0004m3-FQ for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 13:51:57 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id AD80C43B35; Wed, 4 Jun 2025 17:51:48 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> <87wm9sdom8.fsf@mail.linkov.net> Date: Wed, 04 Jun 2025 20:49:43 +0300 Message-ID: <87jz5rmm6g.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugddvgeejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddtfedrvdejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepfedprhgtphhtthhopeejkeeiheekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepphhsrghinhhthiesohhrtghonhdrnhgvthdrnhiipdhrtghpthhtohepughrvgifrdgruggrmhhssehorhgrtghlvgdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) >> To avoid misunderstanding, here is the use case that I meant: >> >> 1. mark the file dired.el in the 'lisp' dir; >> 2. mark the file vc-dir.el in the 'lisp/vc' dir; >> 3. in the root dir invoke 'dired-on-marked-files' >> >> and it shows the list of >> >> lisp/dired.el >> lisp/vc/vc-dir.el > > Sounds like we're miscommunicating. You're now talking about > `dired-on-marked-files', by which I guess you mean Phil's > `dired-on-marked-files-in-all-buffers'. That doesn't require > any marking of subdirs. Yes, I removed the name suffix, but now realized a better name for the above logic would be `dired-on-marked-files-in-subdirs'. > But you didn't reply "It would be too tedious to mark subdirs", > to anything about `dired-on-marked-files-in-all-buffers'. You > replied that to my mention of the Dired+ feature of selectively > acting on marked files & dirs in Dired buffers for marked subdirs. > > And you seemed to be saying that for that the most common case > is to want to act on all marked lines in all Dired buffers for > subdir listings (at all levels). IOW, no selectivity. Maybe I misunderstood your description, but I thought that with the above use case, to be able to include lisp/vc/vc-dir.el to the composite Dired bufer, you require also marking the subdir 'lisp', and then also marking the subdir 'vc', that requires too much extra effort from the user. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 14:27:05 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 18:27:05 +0000 Received: from localhost ([127.0.0.1]:52328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMspN-0008TS-3k for submit@debbugs.gnu.org; Wed, 04 Jun 2025 14:27:05 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:55800) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMspJ-0008Sn-Iv for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 14:27:02 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554FeETi009623; Wed, 4 Jun 2025 18:27:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=DblFgiHwR5uhrAbpRvq4nYBZzRG1y2KOYJd/R3bueTA=; b= YekwFga3uEiZYx3T68JE8UG52vuXsjvETwoxUiqAody0R44DYN8Wdc44M8fgj7Qg XlheffF3NkpR2UYRkHW9OsTdYnpQVGXfAdcF+1/dnZrhseoZgjtqlTJaOVfTZaLY lCc5EWlbks1yTUVva2CuOZqRX+BVlZYDMVdzFztTg/ahmss9ftVxTpLOMGcumDGo r1OGxNvBuUAtipObOf0JtQ5kRBJv5jVni0/vtrtu+BpGhrhcIfzMr0c9QrhWX+n7 nt3KTUqkQrK2+whPkRb6+UD/fJLxs6r9ZpHeJhfiX3JhuomXKPqDG3HFBZa75qZm ZMlf+v5LAA17t3fQcno/GA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8j4p19-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 18:27:00 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 554HLJqZ030593; Wed, 4 Jun 2025 18:26:59 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10on2085.outbound.protection.outlook.com [40.107.93.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7b4aqd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 18:26:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y1KckFxJDBlVs/UC1q7rLqFhjTieFGk8u4PBIySBWqLCUXUMF8LU1dgaOixkg723V2H75cP1FSCoN94A/ULac8FZvivq+aDBUv9A7NdGxPi74hgqeGp8n2stbW0IuRiU+j0ynSGGVXFDsstHqDC5WH+H8X/9gGgvLVOVPYmmEKL2EvZFJQztuJsuzbL6tKYfI9BFovSxKWDExNhblsknK7i3jloS3eXiJ8NZhQwR2XsoCtJYfmvnkMZR1k+r7iIV/c0+dLA4KBUWkWhMYbIuOZ3rYebHtxOYOlIIB+0IVXf+73fJ4g3PkPwQYgh042T9HXtMFTKWLpG2pJPk27uc/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DblFgiHwR5uhrAbpRvq4nYBZzRG1y2KOYJd/R3bueTA=; b=dz4wbd+l9C+1BaZsTIp6V8XAnk9GxrFLWMAcgwCIoRAO82GzKphygEe9nIaAjgHlEk1TCTmeI02ev49+Yfv+tUhF/DlJZHkXqPqJoDNspCi4ZPFI83lrrXWOWbPFWFkL7X7bmDy0u+1/AjC/jDgFN25CqUkfjSJlbAvV5mwIP2A7W6EknyNEhCuwyFvroQ8ZvndYYiTO9uziGU6zAGdH3qDDvkp73EbeSqBFMvNoPt//8prcOY0ieyC9qBWcA9617/FGxdqZXB2CpiTKiDQqqNWrwIFrrZCSQ5jnKwEpurCnIgWEU/q83UDkc57KwgtOsXcv0pTwJ/Wp//t+YfPXlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DblFgiHwR5uhrAbpRvq4nYBZzRG1y2KOYJd/R3bueTA=; b=SO44HN4bIspddI2aPrM9RUDt8QdFuY98SuCz5bat+OZOhbwXy2Ks4yQ8JxFacsjtSsOKAjzgwfvK8DebKZ8qQPBKPJIPdl3LfitO5bCvCSt8izmEWGlEOmsctnQ0/gteDTuaF5uWO0rGS56SEjJ1tczW+WdqwOP07Yva1zLr9O0= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CY8PR10MB7172.namprd10.prod.outlook.com (2603:10b6:930:71::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun 2025 18:26:52 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025 18:26:52 +0000 From: Drew Adams To: Phil Sainty Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1Hvz1lMmW3O7QEGlOrnlsYt9f7PxhhzAgAG7EhA= Date: Wed, 4 Jun 2025 18:26:52 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CY8PR10MB7172:EE_ x-ms-office365-filtering-correlation-id: 2c2d0b53-d906-4e0f-6093-08dda39560b7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?57JCG/I5FaE2kpKJvI1bSz8NBghXyJrJafHc+keDABn/Fj1lS+bPEcoxuKOh?= =?us-ascii?Q?oVkVyZNG2/vll3dyUjtaftk/kzqo9c7W3asg97BMpnVvKpa6E2KWGHzuKhdb?= =?us-ascii?Q?rjNjTrH5LUoL6AFcRmwj+QOOGp3UN48Dih5jOJ74ux9U3PgJWGFJIpSODKAG?= =?us-ascii?Q?6qpMgPzwCUdVfXUHw80Bk34xIhVt0Qfg6cNiT4uIbcWjMBqZxP+lWkvfva5/?= =?us-ascii?Q?ghrLzfVdM/Kj3wQXdqscHr1eQl5egoAH8jCdC7ORQ99IQoDtRoUfBsB8+Wxa?= =?us-ascii?Q?4lryF0Hn0bHiICaBcCOajMFCgkWQNmX+qSzscAdSh7sc/qGG6+71/WOb14aJ?= =?us-ascii?Q?0VwDsR+jIVnaaFaFh3ROAlIL/59Pe/sPWCqn4NGfPnrFjt4V24CXK7/86gYY?= =?us-ascii?Q?ngQ5NWRktZcbNjWdlKF0vEuMOPSt0BDCF75ueaziPmlVKx9fSpkocsS0BBrW?= =?us-ascii?Q?NQ9GTiYypfxkT8QsVBtR6DARiMaa0ZDbrbvbctZrYLMQQkwHDxUhjPad0DoX?= =?us-ascii?Q?2IU++M7+WwfCbRteyAB1FNbAgHkSaPyo3qq5RKBDuOZA+f8qZjPDwXWBAN9I?= =?us-ascii?Q?mdXk/ONFy6fFc8yWnClwhSUaTG6Jlm2M1kOjE3eid1uk2TOsQJYRNGkXmB9M?= =?us-ascii?Q?LrIX6EcuIRO0aHgc346Zv2AcG6NOSrlk+1kloplpfiC31p8eZo2WXeo6UWzj?= =?us-ascii?Q?hC9EtAb7m9qUOWjdKfnudj9B011dRQFtwmtk7N20SQhA1vVeX3zhOd45be4o?= =?us-ascii?Q?HMTc2I2iJRTbtw29VaJc3yQiwiG78+6e1RwjG8j5binUhvQIs0iTfP/kOn83?= =?us-ascii?Q?qDn2CIFnN4WZ7fcBxHG87RAU/pHlMk+5vCg/VFWHLZhf5uIqWt+VJDrgLmEq?= =?us-ascii?Q?G9rn8vratRvDxnWygFgb5l9l6rdTyuggbKvUj49mRwQehC/YgzT+aG8lwt6Q?= =?us-ascii?Q?/70g3SUy5leAAon71ZOVjZZ0SpuoVlCw1Vb+Qpo2Q028woYnCt2rysBTOe4g?= =?us-ascii?Q?VKDP3F2RHAHCZgtpfeUJrAe7je/aWyE9K92Dn63RtNdO539L+takOSc3uC1Z?= =?us-ascii?Q?AojyPt9ofMKpj0fth7qf6JDsVaPTVgoXwnw4bj9mhVUKgHasJb8qFuctPDdU?= =?us-ascii?Q?zFW2Q6rTTpwb9HK7PDQ9sQIE4hFwvtzV3JY1loE9wMBfpWLQWP6UEGvLBGxG?= =?us-ascii?Q?SKyT849UjWRZkzm51c9thTxJLDpnMXFM3wU9mhY5EfhTys2pAVcTZt6W+FBw?= =?us-ascii?Q?5gBH+guG0D5IXDNF7W6YkAIRWC4McCI+HoRB4eeqLczTf3nbapPFVjCiRqRL?= =?us-ascii?Q?SdaYXZzHQiksB6CGX0oyRuFw5p+IM1bZ+dWn8DyQ0w1Wg9aRc7++/tFDL6A4?= =?us-ascii?Q?utKXS5SpG5VdozUhJBdzFVYxyGKgnF/1zCyU8Xrp1ROphnaNl0mI/HZVCS1f?= =?us-ascii?Q?dbEBadvEqVkRQZrOQeVVF1O6I/vLWXp74ZK2RQljjrjY503CBx5FG7uXujkY?= =?us-ascii?Q?lBVSG2cSe/CCQrM=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?T+hlYwwhoSTnsh8u/3KzmQrnUjaqfh+GgUvv68lqt2L7AgxgOUNHlZDu/RsB?= =?us-ascii?Q?tup15J6yrInUjpwT8bvdePIZykh4ML5DvacMsgn/shr2nWzF0V0Iqxhgu7cO?= =?us-ascii?Q?OzLTPgFABgXXvbugTP7b7v0W1wi774TqfqqtKgYWjw+1VLh1Kev5GOJrgqQv?= =?us-ascii?Q?Zn0z4zh8J87MLkg3uhawclhyIM8MmnsWInIBrrQVgIc29JhKq2OTk4h67NSY?= =?us-ascii?Q?sQ7+5u+To9hOzFbVUkIl7UIj1lGuO8PWFpB2mCGz3It5Uz/v1125KoYEOjXk?= =?us-ascii?Q?vzlnmzftbrHeosv35/zQ56GEikwJ1YwJleXaJssZuzWRmnJnp019QbcfiFKs?= =?us-ascii?Q?p/mLDC+kg/Az8S8A4VV6nXG+tHQUGCzSMx+vVTo7bKmrUcCAZ+H5BPAvYwl8?= =?us-ascii?Q?GcfiMwzNvZJTKR8Ty99NymWiD4o70XbMxFd4cMfE1Bv4qix6wFY2LT0fexZU?= =?us-ascii?Q?wxM8RC1/RjXSIOstmeY7qKzt/xkXhnaq/P3s6rG1lgCRJgf1RfJUojLHSSi/?= =?us-ascii?Q?aW8zqdo5GmRvK+YIoDTlyA5+azFlwxVIp12x3Qq/K9DYX93ev4aJ28V+cLD7?= =?us-ascii?Q?9npYBsujTnA8PunqmMMqSxrKRmTr/HJECwk+PSPZlc+908DrUu7JB33z02mM?= =?us-ascii?Q?1zcBVpewFDRneNRtZtiusF67aPtTH1qxjxtPRy6pMNZRnIcLKD9tCJysxjbt?= =?us-ascii?Q?rp5kDv6Rv3Mm7X8q1E5OpTV40W3U7mIrYjbmW3R601+KgJJP+ECR7qcN9fN7?= =?us-ascii?Q?cLxMmBoZtnOZgCNB+q5A56Uj6Idgt8r023U+8VBMdwGedQB8yrlV6RirxC4Z?= =?us-ascii?Q?UzOLqfcN5c5yTbnlU8z/TycBwQNvPYTUT0kW9cafPjqmHJNMQkzvt2OSlZiV?= =?us-ascii?Q?pC+zfsZqiFE+KUgRCqmcYnxkXo9cDDHtkElk05VA3FTIcY8+ZC8WnJJKbnLH?= =?us-ascii?Q?TDofZi52WBmydE98RORbNYevrY0rTbaWtNmdWajOtvqQVAyTyN2MEAFK5NNb?= =?us-ascii?Q?1ET84XAALi808UFd5ArUqe0+ZKg3DiLmCbAOjnSaw/AGQ+CaqZj/r4E6vcnB?= =?us-ascii?Q?CuRaPtWe/GY8pclKTN5PhDkqz0B5wai4yFtZr45alavn/IEpcxBV3Wmz6vap?= =?us-ascii?Q?Ul24JZf5A4Qxw1W6j54fjOKFhh7XLMDh4i2kfv9uYASF/8mSF7LlPycjfRJc?= =?us-ascii?Q?wWMtyxmGeN5QUBfBd+Dlh7IHRhBAwHIxH1UeTQjO8Lj8/QfQpzKxHPeOzKXC?= =?us-ascii?Q?Qexz6bNXl/R8gCS4NPpterDp4rAHgLjX6wOMJox1Zz5pX9pHu1vrmd7aXfSy?= =?us-ascii?Q?f7qPDgN003fIrivC/0xanZyvrmG93siuGmmtvlVYSSvxsAFBzXIXKnrctvN8?= =?us-ascii?Q?Q4xCGOGe/ONjum6ye5R6MllU/Y8SjyNdzz7ZU0zas7e1udiCNpr8SUC2zIMc?= =?us-ascii?Q?1BD+jgUhpArVpKKc2Q2iAkF1KxbHnAtJm+DN2BWsF17yT+Pe0XKydVvVOsLH?= =?us-ascii?Q?82xvivKRnGxhUSubZtMunwDA+hmLGAw2qkEHqEhtkDyibjN7TfFTGMOaTbO+?= =?us-ascii?Q?lA4V5axEMjMVdKd9Bj/G/Vo3bHID6+dQS4HhRC01?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: B+2dLalQNUUodz0gO75XXzsOJVx+hXMUhcfAKHyrhk/8e6IWCiycm8n0eRjM0hbDggpzpWCq+nX2UTm0KnlE+u3Gqi8SGRSrsctEYrENaGtjaPMpRwdBQ//aXDnOq+21tV3RML62VKGM7IXZeSGjZK6w6goGCsgZ7azTZYXwCHutbVErYPlnro9Acw6KYMKrVN9zxB29Ukrj24oULPpf2bIcxrzgQEQUq0CIgMGNj1HL/ZdVkgNWjHWybDDLs1jbhEwZ/Zo1VXmMdrCDOALvL0uCqRwEQ4d82h8Ht+X48LEyETWYhSGxLbixdQw+jB3hLEVzlrC3sbwhGu5CpyS7MViRv6uX03NL2T8wDHdEpbI8LliL+zA4OhPjAJiiAPRalmya6oGrEccVku+WitSOSp3ic1tM6Ek9rF/lZPvxuKMqqH9pN6+1oIfvlCizTpAIli7wRzMcjJ3F+DTSzqKdsxz80beSJ3qgOYihc3vm/S5PRpGxaNdSia1q08oyT4Xdh5EGLgvUvDTB2JfHld2jeWw8NB1e+1KoYB7yk5WR+TGQffHhg03po5uZTMODbyMdYITM0wLP/cUL49YCSBmUjpKLe3lXUNBMKgE+GulsmT8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c2d0b53-d906-4e0f-6093-08dda39560b7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 18:26:52.4401 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: H2ONCmJfP8lrIbZLtzvtJ/80ARaYa6kuQiQDPTf7VybuFtDYZSohNsAoV8s+b9njaf6CZTJR24uvlByaYkfW5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7172 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-04_04,2025-06-03_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506040143 X-Proofpoint-GUID: iUuxLIseQ2acxDc2Q3XoYUCQGth4G1z3 X-Proofpoint-ORIG-GUID: iUuxLIseQ2acxDc2Q3XoYUCQGth4G1z3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDE0MyBTYWx0ZWRfX1npCy/iQIrrp kI1YkrwuBGdw1lQNs8rcTvZv0SstYdem4Eb41p4MyQZya3VLIFUzcIQqmXvGjMGgm2YwjvE8Ye8 I267sLJ6nPnxs2NCMOH+t3ncznsC1u991dSW9O/+iCzUl/4L97iosib87a6xZ2hL7ifx1wKwsB3 RAB2kvTpDSShpBSgjtU498XlYArnvc/8RqUOk5+CAJ9c52Fo/mQ25l5np4x/lE3yj/7Zsf7/PyK tdf2hYocFD7N8Q0QFHfXYP8F2AGeyisnDpHwdWI8QM15j8hcBMGz3QdEFBRlEV2kwNTTYyOv2Mo Pe0uLhHrBzVOdyaCcrLbcpf7q1XJ2TJGYloMilVMcM5HKCfStZPCi8sXTbjmm9n3j8p5nWmPWRW aW3ZoCg+wCkOrksE/+v7Y7f7ut0mZb2SeV6bMTIR9kNNmPDHL2snrI6YY4XudOw0/SHpPJ9T X-Authority-Analysis: v=2.4 cv=QI1oRhLL c=1 sm=1 tr=0 ts=68408ff4 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=J2OuRNWDKL3FeF2XvGUA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:14714 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) I wrote: > (defun diredp-live-dired-buffers () > "Return a list of the live Dired buffers." > (delq nil (mapcar (lambda (d.b) > (and (buffer-live-p (cdr d.b)) (cdr d.b))) > dired-buffers))) I'm afraid I may have led you (and myself) astray, by suggesting to use variable `dired-buffers' instead of testing all buffers. (I see you adopted that in your latest code.) It works fine, and it's much faster by not bothering with non-Dired buffers. The problem is that it doesn't work with commands `find-dired' and `find-lisp-find-dired*'. They produce legitimate Dired buffers, and they work fine with the feature we're discussing, but they're excluded from `dired-buffers'. They have this binding: (let ((dired-buffers dired-buffers))...) _Should_ they be excluded from `dired-buffers'? Maybe so, maybe not. They support most Dired features, and their mode is `dired-mode', but there are perhaps a few Dired features they don't support (dunno what, offhand - they support WDired and everything else that occurs to me offhand). (I wish their code included a comment as to _why_ they have that binding.) Anyway, if we do want to support such buffers (which we should) then we unfortunately need to check all buffers, not just those in variable `dired-buffers'. So my function `diredp-live-dired-buffers' needs to change from this: (defun diredp-live-dired-buffers () "Return a list of the live Dired buffers." (delq nil (mapcar (lambda (d.b) (and (buffer-live-p (cdr d.b)) (cdr d.b))) dired-buffers))) to this: (defun diredp-live-dired-buffers () "Return a list of the live Dired buffers." (delq nil (mapcar (lambda (buf) (and (buffer-live-p buf) (with-current-buffer buf (and (derived-mode-p 'dired-mode) buf)))) (buffer-list)))) Or maybe make it more general, to handle either 100% Dired buffers or (optionally) both those and the find-* Dired buffers: (defun diredp-live-dired-buffers (&optional exclude-find-bufs-p) "Return a list of the live Dired buffers. Non-nil EXCLUDE-FIND-BUFS-P means exclude Dired buffers that aren't listed in variable `dired-buffers'. Examples are the Dired buffers from commands `find*-dired' and `find-lisp-find-dired*'." (delq nil (if exclude-find-bufs-p (mapcar (lambda (d.b) (and (buffer-live-p (cdr d.b)) (cdr d.b))) dired-buffers) (mapcar (lambda (buf) (and (buffer-live-p buf) (with-current-buffer buf (and (derived-mode-p 'dired-mode) buf)))) (buffer-list))))) There's no need for that general version in the current scenario, but it's maybe a better utility function that way. BTW, do you find that using `(delete-consecutive-dups (sort...))' is a whole lot faster than just using `delete-dups'. I guess it is, but it's ugly - had to read the source code to understand it. [IMO, the doc should say something about its use cases, i.e., when to use it instead of `delete-dups'. The doc doesn't even mention that it's for _sorted_ lists, or at least sorted enough that all dups you might care about are consecutive.] From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 04 16:18:27 2025 Received: (at 78658) by debbugs.gnu.org; 4 Jun 2025 20:18:27 +0000 Received: from localhost ([127.0.0.1]:53207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMuZ8-0006O4-NG for submit@debbugs.gnu.org; Wed, 04 Jun 2025 16:18:27 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:57614) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uMuZ5-0006Ng-7D for 78658@debbugs.gnu.org; Wed, 04 Jun 2025 16:18:24 -0400 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554JMcZ8029783; Wed, 4 Jun 2025 20:18:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=QkS/xedCW/cCUDggiinQS4oajd/OuvhM3NFkboRWEGI=; b= ej8XBnYJC9ssoKtDGl8IpYWLcqsySgIQuLexC526oYtJZJnYae5+eVUHuHR7Yp4V ToYinvJouNYtjupk0Zgtc1xYU+MXzLOiK3MtCrMPGwHxEl1hfq0dIAkHKdhdwMH0 c8udZEbt1iDnEzhGYmfNw4y2W5soikCM+PreC+WEqLK9U1iVy9uXxo58oy9JzQ/5 SIaUYgbBEvDQX3xEv9X61LMXqNbcgZnElWcKGsZjE4lGphPkl0GIFFpqjpOv7Ttn Cdy1Gz/ZafCB7P+2qxvxd+B6zsUXjHM82yx2ZVz7LwrRahKAULJBy7g1vBCxGlW7 mUfu/S/cN2C8JadlXdxalA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8kcu8j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 20:18:21 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 554IiUof034906; Wed, 4 Jun 2025 20:18:20 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04on2043.outbound.protection.outlook.com [40.107.101.43]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7bfwbv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Jun 2025 20:18:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S23US5wbZXUn3eGO8l2i8ONkeQgvsLNa2NGOaSR50HItrO6wzdOHTpV0VUqhNjVTbuZdixczw7hP6b6nT8JIVfEkrd+pQ8dTKFHpgZbjzTF7Hl6/OdcBcEvGy/ETGFa3vU2SIG0e9vxIg2DWpAxjHLyAwxoyMIt7ajsomf8NX3IgImDgY5XUQJNMQc/diLAEC9/japSeK/g/rpaK3fJsrWbpD3NDU1cEF/ejcELcxWtoR2uElD76XvCtX4M2MsZsdfb8EhIXvPJ6iLkcEtP94oZmNguyikfsxGZtICD56ikr9aGmzJ2ryjRr5lYLkJL5LVGH0C3J91MCu1u8mLdbOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QkS/xedCW/cCUDggiinQS4oajd/OuvhM3NFkboRWEGI=; b=cByF1YzJR/0VBIXzwoxv+Zudjqnzwery7QgV+hsviDcTROSVdLiM0DlqJ1iU8b8Z+0fmwKsv/07ZK808cx15YeICq5x2wCXDD3PqEBEgbIZlpL8dmbhoApOiWKRltcxhOf9wdtvdyKbv3Py61IcNoNFgqeryrMKlWGxanuhzq9SCMTSTmzTcH21Zb9F1PNxAnLzL0TDPWIh5Xk8ZmBmaCC5JziS+QodZjYRcK06bM0IwOQgz9Zxtjdn6v8cTnWteIMqUlKe83Fl7hQ4/zsEY/fTgQZnOUXOuGlXsIGD7rpbkcIpPRCHWAE7DyFtu4BAkzqaixqEVC/DmfzRay6i3QQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QkS/xedCW/cCUDggiinQS4oajd/OuvhM3NFkboRWEGI=; b=WoJGo6/D4k0HhsaE2IbyAX5JGfN3gpn3AhdbBaYDfrfbHPQlWIMlqvbmz143fDZw7L29n8kkcQ47NZ3W6MqgdpNq3kisjQ5cS+zU8cFH867MRo0NsR+h6Ox0XspEUj3uIWtih8biMaWOn+RdEatXNOuFDbi0LHdG6p1ki+tYNxk= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by DS7PR10MB5975.namprd10.prod.outlook.com (2603:10b6:8:9d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Wed, 4 Jun 2025 20:17:49 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025 20:17:49 +0000 From: Drew Adams To: Juri Linkov Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1XkN1lMmW3O7QEGlOrnlsYt9f7PzU0sg Date: Wed, 4 Jun 2025 20:17:48 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> <87wm9sdom8.fsf@mail.linkov.net> <87jz5rmm6g.fsf@mail.linkov.net> In-Reply-To: <87jz5rmm6g.fsf@mail.linkov.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|DS7PR10MB5975:EE_ x-ms-office365-filtering-correlation-id: edbd27e6-8dcf-488b-4367-08dda3a4e050 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?NXjwc81FZO9laR0coaPWXGgr/TBo/CXOv0f8kXD7bxFcvNxHCneKR2I/XENY?= =?us-ascii?Q?niYwbc5ZGy4AtFHaGUjsbpwV86pKef/MuPlvuT91IRVGV8JrpurHchC4Bboz?= =?us-ascii?Q?lvKwVJTquU9XHeXFV4t3sykXB81RKWkJtV9eL1Df4g6EaJZ5gOTNKrqPWtQ1?= =?us-ascii?Q?4hAU7/DaqsXSG8Xe8VOLrla1O87bvASJXV+b2BJt5C6kIsqM3EIdpvvLMDHg?= =?us-ascii?Q?TiNdA41sBxqlNJz0uiC6ldDA5FRLhR0N22VoVOZCvWR6H8RCuVGp9/5t+FhR?= =?us-ascii?Q?uxfF3MRUcHbtFgDpgk/S73mO14+tpmUVn96tuwHbLsJCyCLLaKeeiFHTVxX+?= =?us-ascii?Q?cLwfUjHTHMvN3DCFbpZt2w549pYEWPAV8gttU6Pc1OSAUM+vUOvwI0Gz1eCG?= =?us-ascii?Q?Zhaj239L922mW9SBebM+IT7pdziQurE3zc+qjfBaHDsoaJlyu/u3GpVim8Z1?= =?us-ascii?Q?B1k5WysDrBzN1WEaNoD8SnuQ++2FepCecCAJhQf2ygwZpDyuKBka8R/hhRDk?= =?us-ascii?Q?ixKw/7JqQRV9NVQzqAbfI1Y3OSHIWOXveHXEEoLodORSJ0tebFwIqKUnNGB9?= =?us-ascii?Q?CIBcUMGSpbsphc+27srno4GqWqWQnv8nU63yAbTyhYzA+wXNJwc4S5AerpHF?= =?us-ascii?Q?yjwA8WyY/p0Xb1YjsmARjCP9iQ1wMX099714v2lsk6XhDSIYRq+p5l031MtN?= =?us-ascii?Q?rULA7w/BLJxchCTAsdLDST/Am5StppyEZEYMZ5YsnMl8ln9CAGptiIobhdw7?= =?us-ascii?Q?kKLkYLnii7YGSt74NjZj5N+0lADfa+S4QxtTpNWwcdAfzaQDuQWW0lyqD5ZR?= =?us-ascii?Q?NjNPm4qPjypqB2PFMYR8XyjLRj248Uy+qKJTJu3iIcdme7vnqR0TXS799cDs?= =?us-ascii?Q?G2Spo01VdgWTxjqxqhy0Za+34zPQ1a8EYtn+oix5O0+UOWdiugW+Pp50pYv7?= =?us-ascii?Q?eHjbrCtC5tWus/fcxc5H4Ay4ZqCJ3pBchMjlrOyoj9USamURMUGGs2rM5F87?= =?us-ascii?Q?sQpf2j/PxvqPrn6aiJAR0uy0QlRcsY5WUgSTRBiQyhTYjK6a4Tj/sw9r188R?= =?us-ascii?Q?h4GmVCvslDWGeefqz8ILoRgp2se2T/qn/dSaf2JvHudNAROLWvkDJMy3lFBU?= =?us-ascii?Q?mfOFxI0nmEP0GOF90SNnQ52dy0Ua1MCagVH11JO8YYvXnE/fVodcgEt8H79E?= =?us-ascii?Q?Klqpt8cIcCYWfItD30uawfQQHKsaRN6VTnTV2P9gbqAbYe6tLFLxhtVpOgV7?= =?us-ascii?Q?rNJkUMI+rMJhSLOd0drRTDjxoEva0oALG23RExvUaVUKCWOXKUEHkG9XwT/z?= =?us-ascii?Q?C+qmE4JHlQbIF/4cp9Cg/NJovckEny0iJ1H5Qyi8wYfup8r6bZm95NkyjEHu?= =?us-ascii?Q?Rrz59F7uzPB558AmmvryVF6WKWe/YZELAlF37FEC4G+b6DB76yHrGsW1DGed?= =?us-ascii?Q?r2PukjrSM9hDStfpu08tIIyb5jJRUtafYbtKy5EOJJuddY97PZds2s0jhGPy?= =?us-ascii?Q?lxqAgFuUjkjt/Cc=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/IyyECa95zi7rPKiehh0cqaT7/L7PeXC0Z79lXtz823biCIY5wDurIvzCh1c?= =?us-ascii?Q?+cssIcsvftF0E/3HRtr3VaWnyogYvs2gxeuMrdEVcLJBHSMtLDbZILboc8wk?= =?us-ascii?Q?lVRBylPps6N3SfWSGBo7Wg2IZzu/IDnfQdlzYyi0oPDbH/7THqEV2wxc1I1a?= =?us-ascii?Q?WPDkgIv7sFJtk9QrSQqNjCKbJkUKYahGBmcag1PuRQpDt2EhMo3elME6k5Rd?= =?us-ascii?Q?SRGckvNydm2uVlHGvsKuZXD8+X8/ewni0QEb4KVFmZWeTPqWPjb70ZdbGKyk?= =?us-ascii?Q?iWfzzD1cOG36uS91VOFAhIcSolccbPGitgMV2OlfOp6c4PfYZQnfXsDAYgBw?= =?us-ascii?Q?QkVxS6KyyfYR1v3czw63WQ5V4GyuLzSC6oDJbTQ/vvprqNiOvB4HovwWZ/p2?= =?us-ascii?Q?VCuYkeGAO5p/qzX39f4HZsK4gQvqxfoo8wTePs3w4Rwv2b6uOY/vhmK+xc2T?= =?us-ascii?Q?UM9pO+odvpet5OqnQkRJPUiLA13KHHgWzJmEzc6ttAkXabZxpm380tOMPnNo?= =?us-ascii?Q?KlH1TfPD+y9PC4JwKf1ssPpYmx8qnlAINhHRS2H5KvTsJjVNl56tvFY7mjTH?= =?us-ascii?Q?FKfzJeQk64UounMI9OObroPDn95HIPd30a9xo4VoaAZFYp2Z7+I9P0sUP7ra?= =?us-ascii?Q?TWE6g8QnqnMbIQIyLV6e7Pvh1TozeMMx3jvh8P7kOERVJ2E3dnbXjpCmBMKr?= =?us-ascii?Q?Wsv/YlyEXjyhvEslzZtgBKN8DlwJ83wgWca1l373WXtZ10s0idVk2zKChBIc?= =?us-ascii?Q?ZZlmvOtOrVxSX7ar3ykx2hIZ/sZCuie3GQKpxdxGBgYYI9KuRWj2kgAlcOxP?= =?us-ascii?Q?iCEo9B5qeo6bKxFGvJ6yzvLWkpylFDCY1L456t67pc6fdBFfMq1QDdimxT+j?= =?us-ascii?Q?riCSeGiL384stneiKGGuupl/6IosmFoHr0Ajza1JwmqPizTavoRFF1fKI78S?= =?us-ascii?Q?s+VFKmsgaQ/RptyBRD3heDslUbeEg4UUavu8ive+sjT7+eidyQgvfNQpbe3t?= =?us-ascii?Q?KmEuY5mjMSm2QbvYlreW5/WMF62Y+4Q4znQdt3iBoXi9m9BlEH8Sj5DpFJc+?= =?us-ascii?Q?FB+Mdi2Y2MmhZCls6PCEWmn4Qc6xmGm5ruJNycTLNDrrSB7a2a9FSv16DHwC?= =?us-ascii?Q?Iu8Y6zCXbRiNgvX46SFu8H06uPbTG0b499turiVf6FH5LAIHpph4wSkW8YIQ?= =?us-ascii?Q?4JGG8lF+ZMKPQnKrSjXmOVQvw18M8eneOISMvOUU5pu71tSmThCZJCNL/ooJ?= =?us-ascii?Q?clYavZt/CDp8AND4tFHn9qsh0+rpMshVhxs4yEM9aQTfIU2WUvWCgsuLnEpJ?= =?us-ascii?Q?K1TbKMw/q5VHZd6xVdUbjMUQ5fvPXvokipArJpuekwa2mtgv9ZYRLDRKL1y/?= =?us-ascii?Q?bZxLnjV7yrXxVIwC4cHiYzfhx3VAAKyDvhN+DADvzfVIox07mGgGQekWjz0V?= =?us-ascii?Q?Dg2nKAmJwp2HHv0niOMFn3NGBeYcVqv8ob92iRHaYWTst0SzAP4IPwRXHvh0?= =?us-ascii?Q?BopH56dvv38CNBuHEYiMNiyS1WSYSWraYgI4GVQaVyOYp1UnCEsJ6vQEnTOz?= =?us-ascii?Q?G7qCiSXy3nXYq5HyfH8oqhOPD/zus4dLBQqfcnvr?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IhK6maDCgRfHfltyJJ8pUtFbA+rdtI5fvPD30JObhjAsR015iAu2txqLRgwf2mRYO3XBUtd8CVIpISCKtbcYC2gMr3MmJLaZtu3hWG4W/G1s4El2H2dwBhsji5D3I1JvETB8/ZW7YyArHABrQfViSy+4sjIU9ZC9rgIwsGqNj6rVAzZ5G67Y1oGeK6/wgWQGu4o/JbCS0FhN3UvZvCLVASp0Jl6i4Me9rU84tFwSULN82oMAMVejVdN8sQlGQwP4IErmG3isyqE8/9xSfiQN03VhcZKVA+QE5nB7ReR/GJrAyQg31eNHx4RN7OB+IF8Z6hePc4PmwD0uV9gnaox2yk5qvIqmXmkS7mePBSdFZ2FDSxu73lTyZOCA6MRQ6asIY4wXvrvm9c3lj2Hyf67T1bghrgkN600T5W4S40MVZM/5QsFVZbsQWMGEU+dc9tFXJfGB7KghXy2IytN5F7zPItqm00W1EtKTLn856C1EMN7KIlyuGjP5abTmyftyLWp6DVtqwjZgJI89ylJ0Wg965VsAK6hH/66aeSuEO/sOig/i8Y72CIATWVwvlrSrirHVPyh2tVm2BtoNk4fZ/HhboB9lG4lhYxvvQMx+hIyHHwk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: edbd27e6-8dcf-488b-4367-08dda3a4e050 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 20:17:48.9142 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WFICvJ0mx+ktRSfOXjWsnX27RuSb/m18GQTekzuI8woXF310GiWQUbC6ojmfKyyeJMG3nk/tlAhV/V/V2gP3Mw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5975 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-04_04,2025-06-03_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506040163 X-Proofpoint-GUID: S8g1cUEKUWcSLkgv56B4rqjy8UECJx2V X-Proofpoint-ORIG-GUID: S8g1cUEKUWcSLkgv56B4rqjy8UECJx2V X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDE2MyBTYWx0ZWRfXyHil9IU9cBHA LYrjZQ/s/2oDwOqrAAa+T4iU4h0oBIN9yxcU6u4TMMV36ysCwplLn/O0L0WtjSbcZvj65oTbb8M 0Hj3qlrZNwpYVCUcbb3NoG+EIWHFL7PN6bC2258sljsGqjo7VA/XQ+04AIlYgHcdDlOq6/oky3Z h7jA9UHIFP3WJHMoNsxc4UtXr0U/0EmXntj63I3FTpfIqAqs2k4EfJnPt0CPDqzBrv2/+YAJ0IA cnHc0nCuWotnI2ATA29vKC4i2H37Keo88E0CV+xfSi+K0RSw16fjslTV9TDPvqllV6QN4sR06wT kfg8cWg1NEvBUlMucUBtkVycbeWuN5M39sBK2H2Psq+MNeexWO0t4GByB+7t4v6hePfXAxHS0nO rvLbD5JsKD1yrdDPF2ZKmggLkniI0Cgc5SV5c1bI7qA1U+Sj6mTiWMPP427I92CeAdyYQc1L X-Authority-Analysis: v=2.4 cv=FM4bx/os c=1 sm=1 tr=0 ts=6840aa0d b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=MP6AycriVrzl_qN-5csA:9 a=CjuIK1q_8ugA:10 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > Sounds like we're miscommunicating. You're now talking about > > `dired-on-marked-files', by which I guess you mean Phil's > > `dired-on-marked-files-in-all-buffers'. That doesn't require > > any marking of subdirs. >=20 > Yes, I removed the name suffix, but now realized a better name > for the above logic would be `dired-on-marked-files-in-subdirs'. "in-subdirs" isn't right, IMO, because it's about marked files in _any_ Dired buffers - nothing to do with subdirs of any particular directory. I think a better name is what I'm using in Dired+, `diredp-marked-in-any-buffers' (but without the `p'). [I use "any", not "all", because "all" might be misinterpreted as a requirement to be present in all buffers (AND, not OR). And I don't include "files" because it's about marked files and dirs (it's actually about marked lines). You can, for example, mark only directory lines, and then perform an action on those dirs.] > Maybe I misunderstood your description, but I thought that > with the above use case, to be able to include lisp/vc/vc-dir.el > to the composite Dired bufer, you require also marking > the subdir 'lisp', and then also marking the subdir 'vc', > that requires too much extra effort from the user. The Dired+ feature I described is about selectively choosing descendant dirs whose marked files you want to act on. Just as you choose the files, so you choose the dirs. Markings are selective. That selectivity is a feature, not a bug. So it makes no sense to say that what you really want is to act on all marked files in _all_ descendant dirs, and that that's the "most common case", and it's too cumbersome to mark all descendant dirs. If that's your use case, you can write a simple command to do it, or use `diredp-mark-directories-recursive' (`M-+ * /') with a negative prefix arg, which tells it to ignore subdir markings and act on _all_ subdirs, recursively. I.e., `M-- M-+ * /'. (All `*-recursive' commands are on prefix key `M-+'. The rest of the key is `* /', the same non-recursive, vanilla command `diredp-mark-directories'. Similarly, `M-+ M-DEL' to remove all markings recursively.) Again though, is that also your most common case for insertion of subdirs in a Dired buffer? Do you always or often do that: insert all descendant dirs into a Dired buffer? I may never have done that. In any case, it's far from the "most common case" for users in general, IMO. The same goes for acting on descendant dirs whose listings are in separate Dired buffers, IMO. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 05 02:39:51 2025 Received: (at 78658) by debbugs.gnu.org; 5 Jun 2025 06:39:51 +0000 Received: from localhost ([127.0.0.1]:57847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uN4GU-00043v-Uj for submit@debbugs.gnu.org; Thu, 05 Jun 2025 02:39:51 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:dc4:8::224]:32957) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uN4GS-000435-Pf for 78658@debbugs.gnu.org; Thu, 05 Jun 2025 02:39:49 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 3066543B3D; Thu, 5 Jun 2025 06:39:38 +0000 (UTC) From: Juri Linkov To: Drew Adams Subject: Re: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: Organization: LINKOV.NET References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <87o6v59cgt.fsf@mail.linkov.net> <87wm9sdom8.fsf@mail.linkov.net> <87jz5rmm6g.fsf@mail.linkov.net> Date: Thu, 05 Jun 2025 09:37:05 +0300 Message-ID: <87a56m3e72.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdefvdejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdefrddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddtfedrvdejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepfedprhgtphhtthhopeejkeeiheekseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepphhsrghinhhthiesohhrtghonhdrnhgvthdrnhiipdhrtghpthhtohepughrvgifrdgruggrmhhssehorhgrtghlvgdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: Phil Sainty , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > Again though, is that also your most common case for insertion > of subdirs in a Dired buffer? Do you always or often do that: > insert all descendant dirs into a Dired buffer? I may never > have done that. In any case, it's far from the "most common > case" for users in general, IMO. The same goes for acting on > descendant dirs whose listings are in separate Dired buffers, > IMO. Nope, I didn't mean inserting subdirs with 'dired-maybe-insert-subdir'. I meant only collecting marked files from subdirs. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 05 04:30:24 2025 Received: (at 78658) by debbugs.gnu.org; 5 Jun 2025 08:30:24 +0000 Received: from localhost ([127.0.0.1]:58595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uN5zU-0000nh-C2 for submit@debbugs.gnu.org; Thu, 05 Jun 2025 04:30:24 -0400 Received: from smtp-4.orcon.net.nz ([60.234.4.59]:37565) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uN5zQ-0000lB-Do for 78658@debbugs.gnu.org; Thu, 05 Jun 2025 04:30:22 -0400 Received: from [10.253.37.70] (port=35072 helo=webmail.orcon.net.nz) by smtp-4.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1uN5zK-0002Xu-Eu; Thu, 05 Jun 2025 20:30:15 +1200 Received: from ip-139-180-120-160.as55850.net ([139.180.120.160]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Thu, 05 Jun 2025 20:30:14 +1200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Thu, 05 Jun 2025 20:30:14 +1200 From: Phil Sainty To: Drew Adams Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers In-Reply-To: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> Message-ID: <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: 78658@debbugs.gnu.org, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) On 2025-06-05 06:26, Drew Adams wrote: > I'm afraid I may have led you (and myself) astray, by suggesting to > use variable `dired-buffers' instead of testing all buffers. > (I see you adopted that in your latest code.) > > It works fine, and it's much faster by not bothering with non-Dired > buffers. The problem is that it doesn't work with commands > `find-dired' and `find-lisp-find-dired*'. They produce legitimate > Dired buffers, and they work fine with the feature we're discussing, > but they're excluded from `dired-buffers'. They have this binding: > > (let ((dired-buffers dired-buffers))...) Ah, yes :/ Along with their derivative commands. > _Should_ they be excluded from `dired-buffers'? Maybe so, maybe not. > They support most Dired features, and their mode is `dired-mode', but > there are perhaps a few Dired features they don't support (dunno what, > offhand - they support WDired and everything else that occurs to me > offhand). (I wish their code included a comment as to _why_ they have > that binding.) The following seems to be the best there is, which doesn't help beyond confirming that it's intentional (which was already clear from the binding itself). commit 0322a154b764f8358ba8913dc6fc724ba9f4294d Author: Richard M. Stallman Date: Sat Jun 27 21:59:11 1998 +0000 (find-dired): Bind dired-buffers so it can't change. Use abbreviate-file-name. The symbol doesn't crop up in too many places: ./find-lisp.el:47:(defvar dired-buffers) ./find-lisp.el:217: (let ((dired-buffers dired-buffers) ./find-dired.el:226: (let ((dired-buffers dired-buffers)) ./bs.el:187: ;; Dired-Buffers ./dired.el:1093: dired-buffers))))) ./dired.el:1488:(defvar dired-buffers nil ./dired.el:1520: (let (found (blist dired-buffers)) ; was (buffer-list) ./dired.el:3592:`dired-buffers'." ./dired.el:3595: (dolist (elt dired-buffers) ./dired.el:3600: (setq dired-buffers (delq elt dired-buffers))) ./dired.el:3619:`dired-buffers'." ./dired.el:3622: (dolist (elt dired-buffers) ./dired.el:3627: (setq dired-buffers (delq elt dired-buffers))) ./dired.el:3667: ;;"Advertise in variable `dired-buffers' that we dired `default-directory'." ./dired.el:3672: (setq dired-buffers ./dired.el:3674: dired-buffers))))) ./dired.el:3677: ;; Remove DIR from the buffer alist in variable dired-buffers. ./dired.el:3681: (setq dired-buffers ./dired.el:3682: (delq (assoc (expand-file-name dir) dired-buffers) dired-buffers))) ./org/org-capture.el:76:(defvar dired-buffers) ./org/org-capture.el:705: dired-buffers)))) So auditing the associated behaviours might be an option, to see if some reason for it becomes apparent. Offhand it seems odd to me. -Phil From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 05 12:18:53 2025 Received: (at 78658) by debbugs.gnu.org; 5 Jun 2025 16:18:54 +0000 Received: from localhost ([127.0.0.1]:35700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNDIm-0008NQ-Mj for submit@debbugs.gnu.org; Thu, 05 Jun 2025 12:18:52 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:9018) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNDIe-0008MJ-Oh for 78658@debbugs.gnu.org; Thu, 05 Jun 2025 12:18:45 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 555FtVV8022586; Thu, 5 Jun 2025 16:18:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=8dYFIl8PyDgZkcY5HG8HSPHV0iKe6lHYRA7MRmgDJxk=; b= DbyOd3woTZ6qUsRulrVBAHda7IhYmjbw2rz0dCdMON95y1luHD20T3Ov4+CyKTev UDOvhuuV/RiyFRLRtd2FY6xPCooewH29WhqWDxEdX4OFGmgWU+W1IfyoDWaUoQNx fKGI560cLuyAV3ORyIjrbspkNAXSeDRujorzjYYCRrFcwocJ5y9o7DIaSA7SX0U5 1oHHXv/vnnP809zzVjI0qFTyJtKfxRhMAwcH+PZPmaYwG26PYowhPBdpVV5oSle0 0oP6VjX9Q062y27eG8ylW8X6xQabb8aQ1K572iJ2dci79VlPmw8gG8Cdm/z8MfFK 2LsMAIval5mV/B/V0aVxQw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471g8cxfng-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jun 2025 16:18:38 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 555Es1K2038589; Thu, 5 Jun 2025 16:18:38 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012018.outbound.protection.outlook.com [40.93.195.18]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7ca6q8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jun 2025 16:18:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hw0Qz+G6GWJ2PGnYoLWtlkyPTvlsgd5UyxECDUXV22ykikiCh6dR/mGolRRVN5wVAGyeRodO3xTsFmFMX3/j87+HR1wBAsi+496nZT60qmP8PgQ2cAcPDmFeZDAcLJgXwO4hcinswBNc9RSg7P2lFZKG5wKVPxSDy68S71NVNeIyDXM7ZGuktPlBRx3sc0OS4fq6ctC7awAYocmUfXjkIKfJH2RQKNynWJdzUfMYpa99ai6dZTJfHcSl6mRMy/HLH4F/JQMZ2sQoRGCBOAC7z0y9alHYWyh4JWVeVFEL0lop+mOALOmsElAXDhM0A/OYAj1tiNSdEtWLvQdWurUqOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8dYFIl8PyDgZkcY5HG8HSPHV0iKe6lHYRA7MRmgDJxk=; b=jDxHPHzROjhtJVk2g2VKSDQpqhSmlUDg6MTC7Y3IyJbOm7VB5YIaF65JSXEZkee5/ywvomPXAFml5RIS54QBzu3N36ntPbhiEDmlv8cpqrPG9hbnWHQAhrxmS0YRxseAO1JLSwh4e6QaoavM4VoO9ThGtpRncWdVph+QK2/3lxxJdM++vvw5hF1AvYKA3So8K0h7ho8DCxBJBxLC2Am8mja5u7K96mfJbMGp25Ymm52m+MBiQueKemapqA+izUX14ktMaaiuBi7rNrShLYJGvAPrKpAuoSydPYkSIM5DffjVe30b2WTt3WTSh9Xl/aexTgUsdc81oef+5afg40i8pA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8dYFIl8PyDgZkcY5HG8HSPHV0iKe6lHYRA7MRmgDJxk=; b=BXOa1y0SXK+5Z6CNa4KJX0qoD18ufSWE3oCM5TkHWhJ6lSuwF+eYe2EJr5rBx6XeMoT1psAYRO3VxUXF5WxawZFdZX/9ciN5arX1aT2zbDbacIihBNqiSua2DvVc4ONEXAXY8aVN55pO5QN2sL8rPH2/mNGwiCxcBqVThict4EU= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CYYPR10MB7568.namprd10.prod.outlook.com (2603:10b6:930:cb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.40; Thu, 5 Jun 2025 16:18:34 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.020; Thu, 5 Jun 2025 16:18:34 +0000 From: Drew Adams To: Phil Sainty Subject: RE: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1fQP1lMmW3O7QEGlOrnlsYt9f7P0s3Vw Date: Thu, 5 Jun 2025 16:18:34 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> In-Reply-To: <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CYYPR10MB7568:EE_ x-ms-office365-filtering-correlation-id: 1e897610-0daa-47ab-d029-08dda44c9eed x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?J3+Q1jOnSKGKu8gl7+abfcB5lTSiHYaskxVxEDMSt3NJkmKxWs6M3GZyeMAE?= =?us-ascii?Q?4yuM5iUhFHW2HGscEeNeCB7/hJ68blM5BR97K8b0BJMzgwEbnwwIlefaA0le?= =?us-ascii?Q?vQFMsg24aHmRs4McvZmgEgvNET/r+jKnKRXlL0DtuFeOTpeNZG38DDDw8C//?= =?us-ascii?Q?pLQPLBGPhNe61leTBUuWEpJ6pRB7NYXp0X23maWsoC5k5kWpBX6UNjBCntHt?= =?us-ascii?Q?QCFyLpFCHluX01IC04+zW5en0x1ljJs4OuXYs4eYqsbHYhNXUXgU8wTqfc60?= =?us-ascii?Q?FRQ2H3GrHbnk9xAdGowKKtYvK9BmBKqI2X6nW3GtrkV5VBM5nIVVgwURPT+V?= =?us-ascii?Q?GYTrGl3l/EFcmn31nJE882M2+6HGYqmUWFX4o8tAK8BK25IADaJ6cpetbzdW?= =?us-ascii?Q?tTs8cHq7fMehxodqEoH5pDX8cCXVcJFiis5I9zjfqwBIGI2y2+rOfzPQeOfw?= =?us-ascii?Q?J3CRTGNBmrqgIFAo5SOgEfrZ0sVCTFgKAWFihArwumV8z2VUKU7dW/PsvpZ4?= =?us-ascii?Q?YedGNaip1ZWSEAPYFkEM6fzYYLfl8b6yD2gVSgROcnJ57Qqbzd29suou4ViH?= =?us-ascii?Q?tnk8oQ4bX5PKLFJ6dSXpGnYQV5jGuxKcYM3PWnQhbmXFXjJNUsSyDiZbyP3s?= =?us-ascii?Q?3rz2R5UqbLmBgXR/nQb5Wq1te4B99gvLvCVOG383E0Jv1ffGL+y2MIZ9sY1W?= =?us-ascii?Q?CCgj6lJQkGU0JbLcXwxVkL9d+50WOD803XUPAoYP+3y3xfEfbdvPiH2fOIFQ?= =?us-ascii?Q?YLJV9H+LW6GzD+YUQ0CHYm/X+URHLAHG0IkyPkuV4YdMDacayp85R0z+9/t5?= =?us-ascii?Q?yDtl3rcZOHjOd3jaS0yBvEtcW8lNiiThhgbyHrG3y5LwuyjXlkZf+jJdp+Oc?= =?us-ascii?Q?mVQd4KiTWPotQoM/T+AxCAKtiAmQYUfN+D4FwgRvAb0FYmfIZOeV7CPdNyrc?= =?us-ascii?Q?PM9IdtU4zo7TSYg83UmL2BP66bGioNF32R6KMvL9lOGrJVegDYTIj0yha6W3?= =?us-ascii?Q?FteBCiF7oxTk2doWKeq3GUkjOfZn4p6MSKV+Lxxr9tvCHIndvf6VAD86LAcC?= =?us-ascii?Q?YnmK9JPWuY03xHBgoo5LbyNUgtsL3LxqBP1AVZfZ7Oso+mE1sJj9hb0k/KnJ?= =?us-ascii?Q?qt/FyHMsYqPiDUQWwfMTpxYt/tVXGaLIv/FboF+93mbWbTCOQmaaIPseiIdf?= =?us-ascii?Q?+CS/oDNHJSr83Cu7OKzqvP5wxc8cXeTLGX9UqUV2Xsp0ifBnW9xQOUxcq7eZ?= =?us-ascii?Q?0/8T+eMSY7Yiv+LboVmPPx3QUYjVLrmF8tOao4vO9Ax6LArIZP5u0WGyI1lc?= =?us-ascii?Q?s7wJhxZbD5s2jSNSM0Z0zi+VemqnwuRzlObE93jbTrMDcQmF8IZCaA8mRBs/?= =?us-ascii?Q?aejhN2/GV9qxeLIn8ZZhdC9H9sumKbYPOiWXm9fBxaFB0xpM6kiQIQWSxNI1?= =?us-ascii?Q?2b2RDaUF9V6d3/S8H5XJ6eCaVxaAVmf91dJyhB/1vwlyYMFBLV5kzqONyjNd?= =?us-ascii?Q?lRVlEBEciqjnfck=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?MsGSgFHuqRw9Qxmqo1HXtOozTkNdPId6dUPyxvpdpRO7MV5mDECEvEbivmeo?= =?us-ascii?Q?DVYPfyCfrTszx2ixFfUQEpsTR/8k5W4zOennImFaAd4obXPOjkxLMcWV/pl4?= =?us-ascii?Q?B4U+YnvA3GnqMmnO2vR9cTNSO3dy3U2j41KpZtxJVlNYGXYi+vd+Ao9DTDEo?= =?us-ascii?Q?gzAwKjJvuTjTaxM4W39T72zDudbYJYxFhlYUSIZJodEUw5KqBiNYi4riQ+Qp?= =?us-ascii?Q?RZydKFTGb+N31tS9SSO3jVhoOI3egAdSJzm7Egq891rK6igF4tEwaw1qiv8Z?= =?us-ascii?Q?sfkP0G4IjcxzZFsEHZ79puoSwatcpgOZ8e56M0WDffVLMvUBad3uGlnoUXOl?= =?us-ascii?Q?REt3jjAesqNnapDviAbqQ6904sQexuG10Adl+8Q7PmCEy5XYJZCQAqwImTxN?= =?us-ascii?Q?RzQpZLbgxZMqdcnYCoZzAN8KDq6GtdDhn4ndNcX6ROo5yej4QvuF6l5wxT8H?= =?us-ascii?Q?excx10JGPCoOHfoUdR1VQF97h0xMo+/24I031byO9OTeD/Z6jPFMAnDVVxSb?= =?us-ascii?Q?cnY9djW8MdQ8pILRdCrvti5B7JnTiGGMm/rtNJGynRsCoK9yf6F4qBeyOpaX?= =?us-ascii?Q?mM/Z+Iciy4kQluZZSMfYXLIhT7X1GAlKSdt4BErCTJAIYpvbR2gfzubZwiTT?= =?us-ascii?Q?/gBffPqt8ATUvBlY3tuHDIIyCyPq1ULivlkVBe9wRzi+G7B7iWCK4tm0l4BR?= =?us-ascii?Q?zIRtuMSRcX9pPZnC4zDPzwYdb+5hDyogC/b2LOHoDHbpCyiaqGEqj8im8NTj?= =?us-ascii?Q?UPSVoxgXT0s+D5K2svlpUA1bROjLRaBHCF/Cp/Gd8KP5iIxvPj8k8FKy8wzP?= =?us-ascii?Q?dcynk1x8vfiezYbkN4KQYmby9DgD0PxNQNlRSeU9rEbtrbJ4VLPkKLJjpNNF?= =?us-ascii?Q?lErQMdrdYhagDKgCm0B/susySruW915qdWVwNq5kIaO6AB5FOYmRxX6aH8M7?= =?us-ascii?Q?WXSlht2W29gafHRNRnT4nMPllsLBG546GKrnmzvV+otbgNgZVEwYMktz9IVP?= =?us-ascii?Q?wJ0C+cT2OUCAu5foOStn4eT4SnpeBtDBEcszXOrj+SWGnPxjcBrT0jAtJmdt?= =?us-ascii?Q?ZehmjGvM+0mRC0rbBO8LVjx0h6GxWOmHyouNbgXmFaHEo4PioGetSWft33Z8?= =?us-ascii?Q?Jt0ZeXoL0UXlgdo6SI1deN+VDMWRTP2NaHG/nId1srF93APQtyWlDnmH42Zv?= =?us-ascii?Q?JPPpwo1PKOVSyKGmTHJPSje9e0npHYU6EBUfHLdm0IhFyBIRmL1ujtyw9Syu?= =?us-ascii?Q?89vmNTtAAJ6FPlGo1/Aqqef+walbU3wSmjOy8M+kTLIe8QR5yWxHMdTIC0dU?= =?us-ascii?Q?54jY02nHedmhklH6YRDH0tn0hw/Ew+inwhHDwjSgHCNfzJWtWati+SAiYRmT?= =?us-ascii?Q?KEuvcyTO1gjQxB9ysVFM0gDdQVr26CgV/2byAoQ7EK60/8zBgjn1j7d22FIH?= =?us-ascii?Q?kW2B/xcXnGSFH9ge2bANH3Vwx77GP6dz12eORgiyIYFYn/PZo75M9firI/ku?= =?us-ascii?Q?caarvAUHzqgT+366L4+BUFL95mvyIC23JzamC/r7fwIyDJ1FJwx7whjO8R1B?= =?us-ascii?Q?aMfN/QOY1vDEqzHOxQDVB3jcm2MU40CJJmqoEY6x?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Xmk+7bViuMY772/x1yYkMnMZ4/cOosRPAJwLJ0dgwCGAUqLnB8CACUTyk9v6DnXHbe7dnLkPut7N8pmfHrfv9ACsab7s5KN1mXz6n/06eSs/CzVIJT5EF3BzLEU/YbyDcDenugXdmoRE0gEgbhQxOKorYhvYJTcApJSSBuR8n1k15aofUBqQGl2fn/DfpZOjgZIvT/Cib3zUkp13B4oMj4yr0As9YeVSg0oaPuHTKfu86UYcK3QcuSkMgmbsKSSxSFLRo/sfW54NwqN/cD02fn0FLYHTybL0zxBbdbDP8f0UIuSDLf1a2Gm/bZNYki3kRdSifOqkH3/WqftZ1Jj9/biReIYVoNA5lOoqKwkcSyUy1Hmf2on8y4A1DngohSCzTeR1ho+80WbkbO9+3qNfIXklIgGWq97sSQUrqcQTSilXv5cWtiMezTmS1zqKB/fpPekBa3PmKxT7LUklhHvNC8LEL+8OOr6qhdKRhQKXg5JReB0dPgcfWoSjS4dSbOPXBYefeYBjtvs2u6jtuOi0dyQQ+zHjBvDjCHpApw9/B8hohyPJjqGeCE7DmYQG2vjMbX/scFgUov3GdnBbkKgF31yeRfPjxvV0JKS5jgHb3Qc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e897610-0daa-47ab-d029-08dda44c9eed X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 16:18:34.7195 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: j1qkwyhSx3ezGF9OkLw7dl9Y3i617AyeUvJuuomLmJkNDXAkq830w9jIdfTxSDAAv9qvf+Hv0FlJmxCCiJ8bTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR10MB7568 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-05_04,2025-06-05_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506050143 X-Proofpoint-GUID: D54WHIYr9csODNMLY7s4jHSIEJZAkq35 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDE0MyBTYWx0ZWRfX3YClslGC6SBI GhZWNk4wvIMt47OapEkMV9mq8NrkYN8f5GwqabAGAVxwqWnI7oBLODcYf+pLaRscv+hvpOH9m1D YzkEXarQI4U6rdQebk8pSzn+Ho9NQ/j6XidAj7zKvqxXBMDNS2BuC+rgvQEAyXxzJ5b4vrXX9qT jXJofBaGEjvQhjorzF/XNT8B1uTgAzWyWBeeq6Uc1J2pvtWTQMaTx9xAOKOFRrKeaFWV+eyQG46 diD0GL0arUK9KEQnsddLc/kjGGgxhvWx1qRaneTjTnnm9QvMKJ9PuoCtIuHV/A9M45KC02Cy/FE P9gfUusFjFdXd7DDEFemn8u8FN3FdMjhJRsOjt5xr4x/MoVJxcwtUSI+jLy5lOfTff4bL8GzNeJ yG2BkWnBfTQXj+55xwlYLygFPXvr4CUR7w+wmzT9/daoZ9YC8NJTHkr6OnL3RCqp36ZTsmWz X-Authority-Analysis: v=2.4 cv=KaTSsRYD c=1 sm=1 tr=0 ts=6841c35f cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=mDV3o1hIAAAA:8 a=biWL8Yayi70ylVcMqVMA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-ORIG-GUID: D54WHIYr9csODNMLY7s4jHSIEJZAkq35 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "rms@santafe.edu" , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, Juri Linkov , Stefan Kangas , Eli Zaretskii , Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) +Eli, Stefan K, Andrea, and RMS, for the find* Dired buffers question (variable `dired-buffers'). _____ > > _Should_ they be excluded from `dired-buffers'? Maybe so, maybe not. > > They support most Dired features, and their mode is `dired-mode', but > > there are perhaps a few Dired features they don't support (dunno what, > > offhand - they support WDired and everything else that occurs to me > > offhand). (I wish their code included a comment as to _why_ they have > > that binding.) >=20 > The following seems to be the best there is, which doesn't help > beyond confirming that it's intentional (which was already clear > from the binding itself). >=20 > commit 0322a154b764f8358ba8913dc6fc724ba9f4294d > Author: Richard M. Stallman > Date: Sat Jun 27 21:59:11 1998 +0000 > (find-dired): Bind dired-buffers so it can't change. Use > abbreviate-file-name. > > The symbol doesn't crop up in too many places: Yes, as I said, only find-dired.el and find-lisp.el. > So auditing the associated behaviours might be an option, > to see if some reason for it becomes apparent. Dunno how to audit such a thing. > Offhand it seems odd to me. Yes. My guess is that it was done only as a precaution, not knowing what eventual differences might be introduced between "regular" Dired buffers and the find* ones. A Dired buffer with cons DIRNAME (i.e., an arbitrary set of files, not the result of something like `ls') has similar differences (limitations) wrt "regular" Dired buffers, and such buffers are included in `dired-buffers'. To me, the find* Dired buffers are pretty much akin to the arbitrary-files Dired buffers. But I may be missing something. Is there a Dired expert in the house? Or someone with memory of this? Or some way to check non-vanilla code in the wild, to see if this really matters for find* buffers? ____ Maybe Eli, Stefan K., Andrea, or RMS has a suggestion. The question is whether we can reasonably remove this binding from the find-dired.el and find-lisp.el code: (let ((dired-buffers dired-buffers))...) IOW, is there a good reason to preclude find* Dired buffers from the value of `dired-buffers'? The advantage of not excluding them is that when looking for Dired buffers we don't need to filter the entire `buffer-list'; we can just use `dired-buffers' as the search space. Note: `dired-buffers' are buffers with mode derived from `dired-mode'. The list is filled by `dired-advertise' and reduced by `dired-unadvertise'. It doesn't include `wdired-mode' buffers, for example, because WDired uses `dired-unadvertise'. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 05 14:46:15 2025 Received: (at 78658) by debbugs.gnu.org; 5 Jun 2025 18:46:15 +0000 Received: from localhost ([127.0.0.1]:36778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNFbT-0003hx-6n for submit@debbugs.gnu.org; Thu, 05 Jun 2025 14:46:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40350) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNFbN-0003hR-NE for 78658@debbugs.gnu.org; Thu, 05 Jun 2025 14:46:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uNFbE-0006yS-Vz; Thu, 05 Jun 2025 14:46:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=W3T/eDax1hNIThXhlhWPd2cizo4SlORm+I3VMfdedUg=; b=cf0wlqC1FD8Z 1TAEYXA7El7YSFSj5cYlHaT7ctwLmSgxBZEpNK4xfoJ60xuZKYpHI4UJdUUingQ6rJcYgcwgyGw6Q fQP5IIi7UHpdcwtvxCRlv9qJ2Dffj6mF/4LaVjLhS0G2lT0V37EzR+F7qTUGXNtxopJD0/3GjYTWT aTe7dwi7clDkuiVprGDhbQ6/QorY6FUfvdJzyXFpnbGUL1+Ah5TPpUnYXdKxxJ8HS2rBaCfDOYxpD YKymVr7271DUBlc4gOfYJu0MADx90Qsjhh1R66C+LHTYKi0iGMJdZ4I6vChnEEYxx6HoV645yY33g tknvJua91Ow/AtXx9eJGRQ==; Date: Thu, 05 Jun 2025 21:45:46 +0300 Message-Id: <86cybim3hh.fsf@gnu.org> From: Eli Zaretskii To: Drew Adams In-Reply-To: (message from Drew Adams on Thu, 5 Jun 2025 16:18:34 +0000) Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78658 Cc: rms@gnu.org, psainty@orcon.net.nz, 78658@debbugs.gnu.org, juri@linkov.net, stefankangas@gmail.com, acorallo@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > From: Drew Adams > CC: "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, > Juri Linkov > , Eli Zaretskii , > Stefan Kangas > , > Andrea Corallo , "rms@santafe.edu" > Date: Thu, 5 Jun 2025 16:18:34 +0000 > > +Eli, Stefan K, Andrea, and RMS, for the find* Dired buffers > question (variable `dired-buffers'). Sorry, I don't understand the question. This discussion talks about many different issues, and it's hard for me to re-read all of it to glean only the parts related to that variable. So please ask the specific question you have about dired-buffers, and please provide the necessary background information to understand why let-binding it (or anything else) is a bother in this case. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 05 17:25:22 2025 Received: (at 78658) by debbugs.gnu.org; 5 Jun 2025 21:25:22 +0000 Received: from localhost ([127.0.0.1]:38327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNI5R-0002Fp-QB for submit@debbugs.gnu.org; Thu, 05 Jun 2025 17:25:22 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:5864) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNI5O-0002FS-MH for 78658@debbugs.gnu.org; Thu, 05 Jun 2025 17:25:20 -0400 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 555Kw7Ro013814; Thu, 5 Jun 2025 21:25:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=CbklE7aj0Zp8QSVSJertY4wVLzyQYuE/8mVLiVDu2/M=; b= W8DErztKDfTg2xN8rGIY0e8G2MeY+BEPjJf8WRfG+zNGUYUBJNC/bTekjsv1n/Tq LYYh6BSxHGpN5alsNDLjVJj0wqDIJo3nYzi+fAIsQFWQvVWXZJNNVbkzbt4vgvZD +Gcb1KsHF1jls7DXn8YlmAvK0PwFRDIyYym7TnGzqSDLkizmaMdB3Qy4oF2mzmsD B9H2uTbCqA7VdAFNZmq/Q1FW4BzVjlIMqO0gIUAoc8dNpEYRmGRdsEzuZTe+L5cm shpL9JMdTjwUSo4SCkcCGpFStYP7F3VRbzO2QFYvh2MJx0jXtZCuE4xE3Todytdl xCz3ojposrYg2AQrkId0uw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 471gahf2pg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jun 2025 21:25:17 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 555L2nW2040645; Thu, 5 Jun 2025 21:25:16 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2046.outbound.protection.outlook.com [40.107.220.46]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46yr7cu1ft-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Jun 2025 21:25:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Fk4qf0fOeYbg15sUuPaCCKgqxoROXLrVPuMk6JKCwuLqGmREgPWL27cQJvhfylmD9+FhmRY3tQKN1n8O4uE6Q+9njW2FGapVsPbU2x5tyDXOaISH6ZGNRXeK/7GbHsu6kdqz3UXfjDIYnhlo/MjqS4Yaghdt10rnUNEJLLNyY5z+/f8+4a5d8eoQaTMGOcM0nj1i7VmdjPgCHO5Kdf3ss5mXFCTF8kStXHHbi4vQawKny94djxE1IulU9vMyGKzMuQZ6e95SNXnoWXSa9MB8teABZUuBs9UUnkgqlJQrP10ZQpg30myUlLL/63GyL0N6A/iij0HW6K3jK+kPytx0jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CbklE7aj0Zp8QSVSJertY4wVLzyQYuE/8mVLiVDu2/M=; b=otT7+Oz9986RQT8SkZC9wNwYaRGSGxipJe0bzvkr2yC1+W4Vtti/5hY0xAWlfAKuph3x+9Bin40/BDe8r02+lRTqa4xsU5hSm3sDIRbbS200hmCYq2V1SD/ZNfFImIXSkABa3v5aYSLFzr5+05fKeSByMz0v+4iUQ2aK4hspdCEWEZoun6OkKv+xu3JKDOvrJJqhdp+cvRPk6ix4tS7DPHJoJ2bxNrVni3GblwMx94/U3jmBMcQ74Ohhdc6/dZu09nTCaZlHQ2R1okToJhmNE0eXXndXCNMlGoWtcB/rd5f/RpE5kwJ5wfsOiXUl6SdHFtealMRMmiMb/oVID3NfMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CbklE7aj0Zp8QSVSJertY4wVLzyQYuE/8mVLiVDu2/M=; b=eBXD1TByMbpog4mzKOZS/BVrr0WIAYXvVKSwMKBizG15bF9QhX5UJc5rm0/GeIxaPx8SzfiaR11j3FtuxrNYaQPKreQoOJZ/HK3NdltL70TK63IMrGeC4qPea5gfkER38wYrospf1pKwwR3JW0IrapTWJ8teyb7qpO4aPHbKSU4= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by PH7PR10MB6355.namprd10.prod.outlook.com (2603:10b6:510:1b6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun 2025 21:25:13 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.020; Thu, 5 Jun 2025 21:25:13 +0000 From: Drew Adams To: Eli Zaretskii Subject: RE: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb1kobvTEW/PDe8UaygMOkMYXklLP1CLfA Date: Thu, 5 Jun 2025 21:25:13 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> <86cybim3hh.fsf@gnu.org> In-Reply-To: <86cybim3hh.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|PH7PR10MB6355:EE_ x-ms-office365-filtering-correlation-id: 01c64963-537f-4ee0-9145-08dda477757c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?RxwiDOL7gKP0PD8A9QIvXANbklzv5TA0HnR5YOdKMB5U3XIm063UgUbX4qLr?= =?us-ascii?Q?CgvMqNArEvPgYRKtyY5Gz54CF/Mao+nMg72jfURK67MtTGyfW9/K/GkAPvvW?= =?us-ascii?Q?s3T/29TmavoO4S8qylHNGM3xgPk+S47mn0Dw2c8qac0jRlQG7l8ZqJNFl1YP?= =?us-ascii?Q?eLK+B0yRl/+yLflDBleoXkYeIlsi2jpgfmHx33Dy9pnbDSfx1IoFx7AkVq1H?= =?us-ascii?Q?pEmLnWzpPqP/UOGtXKuNolq1AAL6ph05EnWzBEcHZwX4i4IH+7wWrSyejmrU?= =?us-ascii?Q?ahb/qd27yTjA1ZKaUMKb2eI+819CU2D+KzXUif0ejfIRTFZbUz8frQJA1VB9?= =?us-ascii?Q?QGZFI03RSNJ/Gz8dIpbBoE/n6edIGgHLn3a7YfFFcgslOTo3TZNdHnPFLvHX?= =?us-ascii?Q?lTj3k4P32nn+ecfJZthoQGqCbP9Gg1IJYQ2Fp8d5cGoipBLTjtmI/JeGfMh2?= =?us-ascii?Q?AXrZrKXAUrxpTz8HlJWFaYGqU//5NDUMmPGoihFWZvuxUo3d6gkeR0i3zXXQ?= =?us-ascii?Q?WyIL0HoY4efdAr6990M1U1ysEZjGTlGM34PtABFjdEdlDr+vf/bvpfPTqgvJ?= =?us-ascii?Q?zpqWJumjN4gIKnPVsAaSUGaKoz6QF6ltfBLLlVcf8zPwvnd5wipl3TCarTvM?= =?us-ascii?Q?Jw82LOF4F0vOPcimOKylTxh+zTtPOXvJwvs0xkjsY6jMy5iiINSvY6tqFEJh?= =?us-ascii?Q?2Y3NMe7byzs7dgQMvMvBoPF05TgMNtEJW5mEa6nfsCola4L3/sFDogWGf8j5?= =?us-ascii?Q?6Jd1+IvplhgU2Hk8v12z0ghRvGZruMAX0sjrUrmIjKkLMecC5gyBmHzrgtFK?= =?us-ascii?Q?TswgbnCuwhg+KtFjXqnLcSU0L81oFhzxMi0VyvYcKrlEl+mcGeVwt9TsrW53?= =?us-ascii?Q?UEyDe26JzrjOOWW6z1lsiX2SkH8XCI2QCsRchToo5h5AEL/0GAlxV/cOsEAR?= =?us-ascii?Q?Ui8AtVMe+OoFy500VpjIvk/3RFugq/jR9wg0RdIVWBfGIwIu+H4j9LlyPpPh?= =?us-ascii?Q?kEIf7a6l9Efvvb/F/uaHGEAy8qa5zt4zbGZCFVKtDpL6WmKh1NKYdyye84dY?= =?us-ascii?Q?1Jp6lf45hJI+fnHsl4D0eaOC/japut3hvD1uorofwlttTtcGQNqB+MDt7olt?= =?us-ascii?Q?sAXSNNAxu7J29jKC2oaUHmbX+DWcRWPws7B37twmdip5XyywhoSiW1RJ4klU?= =?us-ascii?Q?xGHT9qw1Y/eLlQ2n6RcH48jlcJM/9DbvLNUkbWeGA4ARVMl3zE9ADddeLXt3?= =?us-ascii?Q?yV4IbDqPUvsTq3ZFBL+q7LCkhQD/6vxlaAjng21YK8i+OzCkQIT+VEibw60n?= =?us-ascii?Q?h85vi1PR2magRCgzTW+UWsy2oFHAY/Kqqsuy0yTuQBCfDMzYydQZqMOD+yZN?= =?us-ascii?Q?iCNZzvUixpD1k1TWBTtqasA4efhP/jbtHZjt1+fF/Mjihs/gPBs0KUODp8r8?= =?us-ascii?Q?S6UqHeo4GsiOTYlbRYl+erHvoiScI29WPfzyfnBKmDfyhlKHzkGnzH4z07Ex?= =?us-ascii?Q?IFCajlRDdKW/WyY=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/ONHW202H40fyL2AyAh66QIvBugF1Lrt2/61Dd5eURzHgDZlwkp3kRs0PdhZ?= =?us-ascii?Q?qPKX00MfinFEUFlDKgHBdhNM0A9jesYt4TgaUA77PZbYHFjwtvwaJaCbgKwl?= =?us-ascii?Q?3BLQPmKBv5+5IJaND1omCIIq4U/1QGU8yHQFgwbnJCJSrwcg3GpHLfIOwqSA?= =?us-ascii?Q?QhP2Zyrldchrr4oQ7jVv15ahtZnUosqu+DBcaMsYuW3FVrOhrxCqcJpeZN7s?= =?us-ascii?Q?o9RWPKQrsC+4agzVxGdJosp5vAgmu8SczTXDU5J96r1TGBsj1uGi+lZ11sio?= =?us-ascii?Q?PmxvB78zppGT7+6oX40vI3ayE6jKthJbf2s/AT+1bUPyGqSAN0AlpgP/G7E/?= =?us-ascii?Q?ML0pZQ9STJvOXBT1QGXbhyKgh3lHy2mconnm8SfTrw9c4XEOpU3vTyuskyjn?= =?us-ascii?Q?5KjEEYrnXCbOi4cK2n3mPb0IeGsitMVjfuE6S5D4SMAlf/aUKeCfH4vnbb/q?= =?us-ascii?Q?3nhBsYM+XnZxRCrYaYEcIY5XfVRm1FCk3MAp/Ly7aaCbEZGMjCBoLRZrqQ8m?= =?us-ascii?Q?vVHXFoGP7CkXMRwhVSc0eVPPG7boc8DuEJdSSaz679Fbxz18VpZx0LPsxD0S?= =?us-ascii?Q?FQL1Xiq+4rptkBKykDF3klPXIWczr5GJhfFENfkNc2b56wO5OasUa1HtI+Ff?= =?us-ascii?Q?7mPmqIkQMmDgYBNGXG7QWNxPyLLFsbs7zZ7khnxoGXBgQHLZseOab/WyExS/?= =?us-ascii?Q?kCvlgflw31NG3c+xbshgyEyRHgAE/nzl/a7t23ZPKLz6pWeSuuRSQz3MDtbh?= =?us-ascii?Q?Qs8btHraOs430l7tH4o45XxsgbQvp53p3liwEnG/8pPHyYfLvzBy4Ee/2rVe?= =?us-ascii?Q?Fxt1chOIPNRGLEY2R+qBc5o84C8Q+pmg9WmfCRO22MYdcyMNdu5PrE+cVgGl?= =?us-ascii?Q?mldz1/DcUJtJ2/SdUkvI+x3kvLsiPhbH0szWql2OYVjy8hi12eBePAsDHOp8?= =?us-ascii?Q?oCIpHi79b2MfLDNVu/GvQ8dn8Q8o137+fjl4GfVc3rKMhZThtM3cCHcUdjPX?= =?us-ascii?Q?PXYxOb3hUlf/tUlE+nU/bRzvyGmUfndpp/zsnUEdPfmu4mnEWDVi0IX/L6Th?= =?us-ascii?Q?nMlRVA2xEmvfkXGmWjxkHQvlVoatTcCS7nTrBaUTgrkvdjxU5Odnm3yb5AIg?= =?us-ascii?Q?7ynKO42LthynJXALz+FldKzp3J9w8k9Ag8Z9TF8Ztt3rEQmOpmvna9wMsisF?= =?us-ascii?Q?Hg4tK9RbKGdNK1YB+w2Fdk+g0j5+ytURFqFHnlg5oTMmQiN5Vfs7tLLAffoo?= =?us-ascii?Q?Jy+cROpUyNLsv3k01A2ok7dR/l621+dpB3Yanz+ycQcbMFIhayIyqby1Ry8+?= =?us-ascii?Q?piDVjQ2MyoJXE0ZAcQPdUPkC7KvFBUtuDDMOfGqegVx2VO5Is6OhWG3yF5V7?= =?us-ascii?Q?+QULPf08FXV/FxxoG7zze7Jg/MyVd8/dUrQx2rWT+2MgHbatAbkBNM+WtdhL?= =?us-ascii?Q?I7X+2gO8gE9qMGl5QkBlDa3fUVfaTorcs8eHJNh95WNSww5NeIsKY5/eG6RU?= =?us-ascii?Q?T2L17z1r0/bDC2N1dGzpNINazVYzxc39HH1dtC4P5I/dajhyrHMM5k3lsMZk?= =?us-ascii?Q?zlLHLdpu+1TCoGdOxYjdQO/IdkP/rurPVjGEVzdK?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: AFF9pJMXbUjDm1PX2xN3U91mUc7hacBbq8a+Vr8msW9u/luwiV5abRspurIVdfaWZXEArFaJVboW4FyfyUztYll021XBfiEgSTyUkE1wYou2+F/XUZiErdrja4aQnORcu/axkGVJH0+GJ6RbzHEaXoJE98rR28W6+z3gZya/5He0Zd4o+CHNUSCmTHfANIhquNwV4uRxawaqMqgeZuOrBWNjtZxY2U/jMlS+tZxWXUCvHgHDzIcpbIzAD+EkTzUln12dX+ST3H9IL42WbEj0XiT++EiQOUvWB8fLkwboHmXBJV8ZUPeIWC3tWJ4Z9jl2uHM3R+UA9aoTuk60ZgoHF66Zmp1L0uPHLgOteZkJdHd6jfQVMswnilUovWF/KftI9F8uV6Jd4iDkrwrUmgsjAavHWDxuW65+hnzYHher96drqaiPYJnsaK2VV+8eLPMix4ftu+ZAsAL3JZvm40sHns/kuoeHn3zkn9RwBT6dhGf+ijk0n8vej36IvQccjdijDoOuhWWtvHa/vW3+rtzui+xhfl+H3bHYUVTAHUP6ZxrlM78GsK1JnQaRS+DTx2foYl67YsuV9nsnHmnu3coH3lxPDyV2TwwhNYiGkdnH6+8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01c64963-537f-4ee0-9145-08dda477757c X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 21:25:13.5447 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NOv7TcSU9CtnjLeZgNbGo/OUta0lqVpRAOG6/suCcZSHCJjoe2qD3jfZRiPqusF8MVbbweUaYSCvvOh+L5+W7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6355 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-05_06,2025-06-05_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506050192 X-Authority-Analysis: v=2.4 cv=aqqyCTZV c=1 sm=1 tr=0 ts=68420b3d b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=-I7LxJ19whrBgeUaHLAA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13206 X-Proofpoint-GUID: gggvFrxbz_wk_r11guveBLl2yAjSldE0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDE5MiBTYWx0ZWRfX2x364WfnDBzB q6S+/lZ2gBhOsWt5eJZt98yt9Rz1Wwpb9cVVV+gYg3SOISWILnHGAkSwCzOcsHpIyNPcPsdpto2 u+yCkbgpBg2GS9FtrGZ+3RJcwl769tx2ilKvfLSs/6MYYMqgfKfaxNBmGl/IIzQYdTf8wj79rgx vkOgzmuF1kmH71HMavSSMY52JN6bi6HtQnzT07qYrS64jKeKOprwaks4ZU6ImBVelpVgJP3HROQ Ifo4UbidatcErCxZkOUeNFnAre8WTrSqxLq8faBL1mDvRqfaBmt3NdYSpz9YlRJ8Z9vIc4VKs7V 1ruEQzQRhhQqLrPhMRLF2vAXQNbpNQF9SOgG+H+fDB/qaZ3bq0P9i0wzThE7eQ7ZlYYweiWQB7A Jh17nYaIv0XNjqerA2otnZkYKkLc1qtZcschg7Hisl5Lv1QLAPgSLsGP18z7lcTAdqbkR6Pb X-Proofpoint-ORIG-GUID: gggvFrxbz_wk_r11guveBLl2yAjSldE0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "rms@gnu.org" , "psainty@orcon.net.nz" , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, "juri@linkov.net" , "stefankangas@gmail.com" , "acorallo@gnu.org" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > +Eli, Stefan K, Andrea, and RMS, for the find* Dired buffers > > question (variable `dired-buffers'). >=20 > Sorry, I don't understand the question. This discussion talks about > many different issues, and it's hard for me to re-read all of it to > glean only the parts related to that variable. So please ask the > specific question you have about dired-buffers, and please provide the > necessary background information to understand why let-binding it (or > anything else) is a bother in this case. I did say this much in the same message, at least: > > Maybe Eli, Stefan K., Andrea, or RMS has a suggestion. > > The question is whether we can reasonably remove this > > binding from the find-dired.el and find-lisp.el code: > >=20 > > (let ((dired-buffers dired-buffers))...) > >=20 > > IOW, is there a good reason to preclude find* Dired > > buffers from the value of `dired-buffers'? > >=20 > > The advantage of not excluding them is that when looking > > for Dired buffers we don't need to filter the entire > > `buffer-list'; we can just use `dired-buffers' as the > > search space. > >=20 > > Note: `dired-buffers' are buffers with mode derived from > > `dired-mode'. The list is filled by `dired-advertise' > > and reduced by `dired-unadvertise'. It doesn't include > > `wdired-mode' buffers, for example, because WDired uses > > `dired-unadvertise'. I think that makes the question clear: whether we can remove the binding that excludes find* Dired buffers from the list, and if not, why not (what's the value of excluding them)? But here's some more background - In the current enhancement request (#78658), the plan is to add a command that gathers all of the files & dirs that are marked in any Dired buffers, and open Dired on only those files & dirs. (Passing a cons as arg DIRNAME to `dired' opens Dired in the buffer that's the car of the cons, for just the list of files that are the cdr.) To do that, the command needs to work with a list of all Dired buffers. The ability to do something with the list of all Dired buffers is of course more general than this command - more uses. When `dired-mode' is invoked it calls `dired-advertise', which adds the Dired buffer to the value of global variable `dired-buffers'. A couple commands remove a buffer name from this list, by calling `dired-unadvertise'. In particular, `wdired-change-to-wdired-mode' does this, because it changes the major mode from `dired-mode' to `wdired-mode'. The value of var `dired-buffers' is thus generally a list of all buffers in `dired-mode'. (This can include buffers that have been killed, so filtering with `buffer-live-p' is also needed.) The only exceptions are (1) commands `find-dired' and its derivatives such as `find-name-dired', and (2) commands `find-lisp-dired*'. They're exceptions because they bind `dired-buffers' around their work (see above), so as not to add their resulting Dired buffers to `dired-buffers'. This means that code can't just examine `dired-buffers' to find the set of Dired buffers (buffers advertised to be in `dired-mode'). Instead, it needs to filter `buffer-list', to gather the buffers with modes derived from `dired-mode'. That's unfortunate - it's much more costly, in general. The question is whether there's a good reason why find* buffers, which are in `dired-mode', should be excluded from being "advertised" as such, i.e., whether they should really be excluded from `dired-buffers'. And if so, why? It was apparently a 1998 commit by Richard that added the protective binding to `find-dired', but with no comment as to why. In the Emacs sources, at least, there are no other places that exclude `dired-mode' buffers from `dired-buffers'. And grepping for `find-dired' shows that there are no places that rely on such exclusion for `find-dired' buffers. Same for `find-lisp-find-dired-internal' (which binds `dired-buffers' for `find-lisp*'). From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 07 06:19:27 2025 Received: (at 78658) by debbugs.gnu.org; 7 Jun 2025 10:19:28 +0000 Received: from localhost ([127.0.0.1]:47030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNqe7-0005E5-Cn for submit@debbugs.gnu.org; Sat, 07 Jun 2025 06:19:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60448) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNqe4-0005Dn-KD for 78658@debbugs.gnu.org; Sat, 07 Jun 2025 06:19:25 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uNqdw-0006Zx-IF; Sat, 07 Jun 2025 06:19:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=eMtSBYw6SHC1DcTL4E3GwxSOm/fBbcM/6im64jwR74Q=; b=hAbya27xg8bF iI6Wt9mx6YNDVwCqC7rxRFKSabw3PfrUTdlC5J0roa8KcaBWBPSd9Iaa1hARSdxbbA8Awsl1lVdZI lIquGnwV1hkTlxTy+lbewHkA4/qZO7fgF4sBU4n873/k0g+8teqWiFCPKF39sg+Psb8BouSnv4CBf B2zW+sEbiM/tXrquMBrl+zCW4gB/G1x5Brb8joxin+TLRbJzLnCnKvakjt2vO3XpvK8iZLGQ9h22E GI7ul+/Gp5CUkHKMxGxiqG1dWVgMMskIfV3+tPXee1uw3cW2oJ3WAQpc5aFT6PiMs5vAr1IrBPMQy AA1DSpbwR3QgUDcN01fKcQ==; Date: Sat, 07 Jun 2025 13:19:04 +0300 Message-Id: <8634cbj1lz.fsf@gnu.org> From: Eli Zaretskii To: Drew Adams In-Reply-To: (message from Drew Adams on Thu, 5 Jun 2025 21:25:13 +0000) Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> <86cybim3hh.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78658 Cc: rms@gnu.org, psainty@orcon.net.nz, 78658@debbugs.gnu.org, juri@linkov.net, stefankangas@gmail.com, acorallo@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > From: Drew Adams > CC: "psainty@orcon.net.nz" , > "78658@debbugs.gnu.org" > <78658@debbugs.gnu.org>, > "juri@linkov.net" , > "stefankangas@gmail.com" , > "acorallo@gnu.org" > , "rms@gnu.org" > Date: Thu, 5 Jun 2025 21:25:13 +0000 > > When `dired-mode' is invoked it calls `dired-advertise', > which adds the Dired buffer to the value of global variable > `dired-buffers'. A couple commands remove a buffer name from > this list, by calling `dired-unadvertise'. In particular, > `wdired-change-to-wdired-mode' does this, because it changes > the major mode from `dired-mode' to `wdired-mode'. > > The value of var `dired-buffers' is thus generally a list of > all buffers in `dired-mode'. (This can include buffers that > have been killed, so filtering with `buffer-live-p' is also > needed.) > > The only exceptions are (1) commands `find-dired' and its > derivatives such as `find-name-dired', and (2) commands > `find-lisp-dired*'. They're exceptions because they bind > `dired-buffers' around their work (see above), so as not to > add their resulting Dired buffers to `dired-buffers'. > > This means that code can't just examine `dired-buffers' to > find the set of Dired buffers (buffers advertised to be in > `dired-mode'). Instead, it needs to filter `buffer-list', > to gather the buffers with modes derived from `dired-mode'. > That's unfortunate - it's much more costly, in general. > > The question is whether there's a good reason why find* > buffers, which are in `dired-mode', should be excluded from > being "advertised" as such, i.e., whether they should really > be excluded from `dired-buffers'. And if so, why? > > It was apparently a 1998 commit by Richard that added the > protective binding to `find-dired', but with no comment as > to why. > > In the Emacs sources, at least, there are no other places > that exclude `dired-mode' buffers from `dired-buffers'. > And grepping for `find-dired' shows that there are no places > that rely on such exclusion for `find-dired' buffers. Same > for `find-lisp-find-dired-internal' (which binds > `dired-buffers' for `find-lisp*'). Thanks. If we allow find-dired to add its buffers to the list in dired-buffers, we need to make sure they are removed from the list. We also need to make sure that functions which scan the list and operate on its buffers will DTRT with find-dired buffers found in the list. Is all of this reasonable to do, and if so, is it planned to be done as part of the changes you are discussing? From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 07 12:52:24 2025 Received: (at 78658) by debbugs.gnu.org; 7 Jun 2025 16:52:24 +0000 Received: from localhost ([127.0.0.1]:49417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNwmN-0000XP-Kg for submit@debbugs.gnu.org; Sat, 07 Jun 2025 12:52:24 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:43280) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNwmK-0000XD-3W for 78658@debbugs.gnu.org; Sat, 07 Jun 2025 12:52:21 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 557EveC0024464; Sat, 7 Jun 2025 16:52:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=PeH/TeSKsAApP4Y7B0NMwVAKmUK5IZDGd140c0qPRnI=; b= PwJApklOUEboDsbT9ECSiPkIZNtT+eu6uv0wRMyEWmlz4HfyhXT5/HWFqA+s8fvE DDUthe6Y17yo+IUowasYIUlPy+REvI5gjDojsXkKgpfzJOQdYB9e//DtfpTlY09Q LB4XNLG4FR3ehLzxVIne4ARV0ZGuPG5my5lub5T/C4Cpy1rgsg25eTonkdFcXLhq bPIntjHnAEFBGEBp9wokRSTYP2QSxhEKhBwZ6H2gdYxrn8QUiZOfMKx7sTdEJkvW o3Z5JyzmZ0BKAzSVkdjF7kotvn2Q+3GosEFh79sk8vXXehtgjl5p6KMtJeQEbZUL PugQhV0sdyg8z1OAxD5R+w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 474dad0bkv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 07 Jun 2025 16:52:18 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 557BipCm012187; Sat, 7 Jun 2025 16:52:17 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12on2078.outbound.protection.outlook.com [40.107.243.78]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 474bv7465f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 07 Jun 2025 16:52:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wiVaNGH/rYf9+sB2qUbbqDGmdTKMKPsJ8ubYqO2L3yTkVzaShmM0ySbbAfBhZJNtQLoZYZGyQK+qO+6o41IClPg+yV+7AYJ/YB6V1++q8djrFm7PiBcYAhJIQ/0AcpDweiAj67Wbi8iRw8+bQArufTQHO4uvsq0vPhrICxvmNWSGbG6Ikly9QXlI47fj8ugHOfo0IdYLz+vAaHpvmm2VEjvAsZN8HU/tkYEeue4xRqCiI99YpM0EqJNHinQZXxY+ScGq7bGtby4+X8unDBx3TGC+gFw1Vg9x0BBcjqm1gTJsntzVt7QRCREozI98irbpu6XOjGmyTL2ul+MwdY4aiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PeH/TeSKsAApP4Y7B0NMwVAKmUK5IZDGd140c0qPRnI=; b=k+hvXq1dmCLmbkxPJfgmeH22Gz1decy3I9A3TwOdcfwOdlsEHBSfN2FTrWP+SAMedAuc1FSGOq8OSrKXQ6KC083EqTabnUGhClIPyNYfh+6Jo7aDoKykfxA31cUOP1pzcA3keWj7aGPK24JGoVjDCs28RRX54+6noDZ3iCDstt4+oLdVVi0zASF6JxERajZFDn2bLYv0prbvwAJOcPU29+f1Td404SaN1x8iFyu0pGZnGwVX1lXwksPb0WJ2uOZlRJ/UDORsXT66WlbZr5YeEKadxUux8tPQGPTw/6fVgKIMz059uxgA7eYSqC2zx2wUI+v8ZbAztjCY5q00YCqKDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PeH/TeSKsAApP4Y7B0NMwVAKmUK5IZDGd140c0qPRnI=; b=iUU3img5V7ntqnwlsi1LAhba3MQDiOcTi2nW9OuPAkxaaktSWtGbp+1OrkQUkkUDa5uuSF/NG40y5jCEwfsK7TsWnGPwxVvi65k/ncXg6ZJJ0NmmqIYbe+dJwydiN6u9/FJV2LI7cCK3FRQQInfwmTcFR2TSOgtzEVZ6ufSFs5U= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by SJ0PR10MB5859.namprd10.prod.outlook.com (2603:10b6:a03:3ef::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.40; Sat, 7 Jun 2025 16:52:15 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.021; Sat, 7 Jun 2025 16:52:14 +0000 From: Drew Adams To: Eli Zaretskii Subject: RE: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb15Wl6B4gC9hIPkaCdyJwAqRpMrP34Qew Date: Sat, 7 Jun 2025 16:52:14 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> <86cybim3hh.fsf@gnu.org> <8634cbj1lz.fsf@gnu.org> In-Reply-To: <8634cbj1lz.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SJ0PR10MB5859:EE_ x-ms-office365-filtering-correlation-id: b7f5b489-191e-4910-1a71-08dda5e3a7d3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?jPvw533547ljN9WuVKqO+Wk/kzyoFpYNNLUwmqsQTZfE98qHSSelukYHO5Vn?= =?us-ascii?Q?v0E/9TCUr/YUtA4Rx3U8SHcqrAj0EYRPSpGtPriu+Fdt95D7G10mkdFAtDzG?= =?us-ascii?Q?Dcc5aV3dJ6hH/VuXKwlRzdAtnixGZ/wgGOqnh3wf09rWNpto46t2UHERFEb5?= =?us-ascii?Q?yP9FERyVRskr02VlD0Xf42hwY8YXxuSNhNe5g52RjUTOqiCSzH52RGnaezsK?= =?us-ascii?Q?/na62JZw/of+Lj+OadGWhvPoY+gE5ojvDkQhVM1k7ePQyr316IeBjXKRHB7h?= =?us-ascii?Q?v/uMnUtEj0k4cbaXqu9RKCalfkJHXgE8xKkMW7RC2WVYj/1aBGOviAdIMnfn?= =?us-ascii?Q?JI95XoEfcvxkcgFXcrmlu/pR9COww0Usv0LOGIpEsETts5VWbqrbptmB308i?= =?us-ascii?Q?ah3GHxwCV1Q0+gCpM3b/617a99wV6xIbzMMFeklc1HUuX8SNvhkGkCONm7Sj?= =?us-ascii?Q?GH4rAZpAFqGxe14t1g0pIvDw03UxkquZh114WjOR13Pl0dWKCVp0Wr1CmJXI?= =?us-ascii?Q?9jWd1F9lHg5e8bGXmbawIuu06MSoQELgXHrzHesKbq37lqZNzF4/he9C95Ku?= =?us-ascii?Q?p/mUNf1lBRm375yn9wuFhLEwIKNwLGOfk1MLSDF2GemwF0owML6+Neg1efOb?= =?us-ascii?Q?6fMMMdbxEXHaQDryA/eVlbQ7dvTrp6Cyd/+XBRzhvgppO+kQlOZyPjwS/nXf?= =?us-ascii?Q?ms80IqaCaDbQ5/V5A/3ZMQUWyaRtqEXCFnyI1K8LGbOsube//qyUGQ48929E?= =?us-ascii?Q?dj6b8gVAbDSnSOwoqXEmMTpZBYI6TtSFeCfgzUwpMTnHzOsNlWjF6hfjvmYr?= =?us-ascii?Q?uSvKNHjUMDA2MtZ+QeuIpVu4mENiJGBQE2p45U8foPgULHB47HKf4XWMcDQ1?= =?us-ascii?Q?tkucB/ghv6li33eena5QyB1KGT33p1aAWUgVipG9je8XVIoHU2Zgsbmz2DLb?= =?us-ascii?Q?Kfe9hHEARTB13693JJUxtUeei/VXE2hfy+3t9zEo4e3y7X9c+WRzwqUZCrte?= =?us-ascii?Q?/zMkgbH1Ejdw16UXGeen6+zRKqRJZ5vshtyclkLgXkcYwexMEOSmqGj460mm?= =?us-ascii?Q?MskNIh5JdlsC5kFIdCFoyGKQHZ7UeY3olgCj+HW+O85bn1e9gThtARhKAho9?= =?us-ascii?Q?WCUwiVj9hpjk1hi/ZPA4t7CqYjqVhLC/+WdgbpFGn2VmEKWNgrF4AUQ3hJuz?= =?us-ascii?Q?gCqAuSiruXK6j+JNDw2SaSY8EsRX4Je0XduIzyXK76TcC2ilHnSLDHhxx2pG?= =?us-ascii?Q?kxe8iNjOdb5D4VlVCfGM7XFReS69GN2LpUHcRiztvTBpKoQtS/kz81WDWfbA?= =?us-ascii?Q?dVV+3RohJw8pL2lvsfa6uE8coupQ4nVYfFio3Ox/Birl03L85Hf/eLJxrO/f?= =?us-ascii?Q?zVmKN1rWcwXJFGkmNyFtVGjXkSouZFXFImZHA3svPdxSHvQbs9wNKv2o+TqN?= =?us-ascii?Q?I/XpES9vMpzS0oe9lodElt5NRnPmJIJQmS9/VDFo8Ygd/ogq+6G16uKg7YqG?= =?us-ascii?Q?O6Nb22t4S/evJWs=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?FSMwaDTE/R5CFImQVdCaCS4/ysVC6csngF4lJ91vYzg6983FL4XhXljyXe4N?= =?us-ascii?Q?j3hf4c8/PFrDRsoFnjuOKNKYTsJosqcxvyCPEW9iAyz4dOt0XOU3Wm7RytXc?= =?us-ascii?Q?artlAu8wIn3n1Ah5PN7Az5q3OF2pUAuM5eSzAoySz+4RB2AgoHHOBOITXTyU?= =?us-ascii?Q?GxQCRbH3oHyEuRL43jr2fCKn/dpMue2hjTRivYZn9Kpgw5DEQtiaOkgd9WTg?= =?us-ascii?Q?dOwndAiJcSecKqAxydea7DfE4RV1z6ZWMsb2QFkxs8wEV7IqLseICFECL+ji?= =?us-ascii?Q?EqmEK660ZfuQkLl1ge1N3Is9H8NMrezo0cSsePldjTnmjVUpo5igzy14nXv8?= =?us-ascii?Q?ZfEbdlxCu4TFjXuNF87tl8Z3LbBZD5PyNSl5jDWIf7r16FplElHvaOP9fxQB?= =?us-ascii?Q?gLcsLhgTbwpDE1Y5UFQtNAwlxMPzfFfVqtr0YJ+0MLOTkKPknUo2Y4AC8Le7?= =?us-ascii?Q?qw4v9Ez62lwxGymSMguRf5pQEb6w6AySObjy77deI0ZD7immP+IZllrnzFlw?= =?us-ascii?Q?7xSB5kRH1VZWz2PH+mLPDvAAWbaRBgm7uj/6lrBve1SEOWTdFcCsH0+h1qja?= =?us-ascii?Q?SdXPXzDRzAUGph/AT8vx5kOMgxf2+1JnvVf9coiQyTH4BJgocnwTmJcKQ2SA?= =?us-ascii?Q?nNu66WMcWuvTFfHONCw4eRuyWiby9rv12eLja7pAjTb7vuxlAmTBCkQx0Qho?= =?us-ascii?Q?XjNnzT7V00h7cn2e24HJczMHrcLNwL5F8VPIUweAySEvn5E4FieWqUEG2k78?= =?us-ascii?Q?QmZR/cnRjbTNqcVEZIOlvP2L7q0mEXyjvI8Ook+ZrG4u5U4gB6Ow2jFnbekP?= =?us-ascii?Q?3+ee75xWvMN+JFuVM6/GZHhmxG9V1F+6RSZyoxl3mWTyU+aGeUF5Ar+Mcjwy?= =?us-ascii?Q?3uAh69lggIO33cOwICEyn04sV/K+3gg+fjFhzoL4PNLfdPIfqn2a8EXjdgDo?= =?us-ascii?Q?gZbEQIp9iE22FdMmputDWoszX7dLdPkoRyGMyPUaCneZENI1zVf2Gf/zcQAB?= =?us-ascii?Q?oarmSc+HeQuSnezBfesX9+z9TRL3RhgwVQr8OBiMB65bVCVvu16ND0Sc+KDA?= =?us-ascii?Q?B2hJ8FMdvp3LEGtQaWo6cPub8c09c3/5zYMOhdqg2ePP3bbsbZBpB+Ft9x6C?= =?us-ascii?Q?DIAdICO5g77xp8/esqtumQWcpf1gRlr78ZxhIVN91Cbq23QoRaSMWnV3CiEH?= =?us-ascii?Q?H+t0ZN2pus7VzYlJo6EpW6CDIGHphbZc8I+pp+kgjBzgFwrxw/UpXGYQ62if?= =?us-ascii?Q?5AUv+U5QaBVMirbbP8GBUKoHIJhBlpQZhnKVa074uByZABvgHbVVQLAKb81u?= =?us-ascii?Q?H2Vc44d2Ho1fkyj6mqJpDDWIAY6stiM2hkBtciMamVBUXXClQstZyg9eUP8D?= =?us-ascii?Q?iq2PzdMvjnCVCQ08hlxwy1IlVGITX3ZVr2iWFLMWhl64f6rjU8SvOAFWvVoz?= =?us-ascii?Q?YCUZfbYvCP5eO+dlesp/g3kP8fDL96H+K1+BYPw4zYu4xgnhK7MQ6awYLsFB?= =?us-ascii?Q?bdur401pH+V+DG+wWRIZbhBQAza0kBTeLx/UK7CFdRDXdXbyDZzdUD1XQjII?= =?us-ascii?Q?AWsgoIZJCaYflk0+zwEpBoTJ8sC1HqB2zVZbtZN6?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jsvDMvr8PK4aFhhtx0lKGJ8MYnib6GM7qWe0191Nzd1mtT7Gr4UuMvSbri4QJO1QtIqeWb/HUo6nmwkJwEKBNaW6PoSMqOyMPg6Vx37Y2imiK+JIiJlAvCISC2oSSSvnKzxFzRB/3qZvRmObreWL7R/iXHIEwNeHZfz9wqaNz7Cq9B6e9sG+WYNbgJYQdUnxlUBWpQuMbCGyD/2rL1QZPQo8JYFU6ahL/0JLDnl06Zmhkl2Qzq1mTmBat31nxUeXgh2sa1sc7qVlicMnUhYUOQYIi1xWtJ/o3zheSCZv0uRVqOfHvtDSv/OO8D1QZKGjpJwGL2/bUGTmBrNwl0i/YmmCeEsGr6AdNNX9lXPtkPHuitiyPRiCSy6vDgdxs5yWhzyqakmonOzGZYJRo/Kv+haKgX6Jk4/ifryp1jfhglvVGZ1Z1+5FIxuTbB5x31rsnLTG2+dstkg/5Rv0bKyqKLaiZZRVoQzl2DIJtYwg4r+zlWMTA0mhsznhK4eFdQzZXdX3dxrnNtV6Ql2S+2QIXjGb4huulh+dxKPWesbJTnDLAm/KwlNiXmX9MptzCx6+UKCsx2sMQh1hm+n8ky/Sk2JNa9j33H43LpiczTzXa9s= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7f5b489-191e-4910-1a71-08dda5e3a7d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2025 16:52:14.7729 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QofSnL2U/Me6asf5EO1vkWUQTRWUA1/lK4tUbnwOGyT0VUvpFdxGAFn21Td3+kRynFJBUkL2jsxi8xKg6e3aeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5859 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-07_07,2025-06-05_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 bulkscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506070121 X-Proofpoint-ORIG-GUID: X-RuowQHGucenGAU_lARGjdfYSqMkAMA X-Authority-Analysis: v=2.4 cv=EJwG00ZC c=1 sm=1 tr=0 ts=68446e42 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=vrFdR_rxt_2yXcwaZnMA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA3MDEyMSBTYWx0ZWRfX5pLMbS2UyLuT N2BR+GbrViiL9lbeQw/sO4jh+dOD9n60fBL8thGsZnKpQnk9I+5G8tkgTCR8ZQaREx8Zw+Cd7U6 /RzwuL615DMiDRCtaJKQWcRGUyHAEvHFjJ9u96zTlSzbeJ5EyQJFCweVHliHOdLFvn33YcgiMKk sfDoTD9/yZKGf4tKSo1Z4BMqcQUe4X8VQ0Dv9kGYCH/Hxhw8z+nk0DNjLIT/LXsVP3eocY0TlLC BM0iEl/RPi3PQNcflBf21QbO8nw6gozNRV5msdhnZQBQciotsG9loleKpr8xmfAQ1Vl4JhK8x4S ZcZKgGIeGfa1bYbHL91EGRLZSRaBhR4auSH28gK9OakvWxm8xLk+LPv2UaxyK1Vsy7KhnRYDTyE bH2CmIFD0JHkRnRIfUUZjoapklwjDq8L0UR5bpqkMSgWWlVxA0YwK/Vskgfbxl7lDr1ZldPD X-Proofpoint-GUID: X-RuowQHGucenGAU_lARGjdfYSqMkAMA X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 78658 Cc: "rms@gnu.org" , "psainty@orcon.net.nz" , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, "juri@linkov.net" , "stefankangas@gmail.com" , "acorallo@gnu.org" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) > > When `dired-mode' is invoked it calls `dired-advertise', > > which adds the Dired buffer to the value of global variable > > `dired-buffers'. A couple commands remove a buffer name from > > this list, by calling `dired-unadvertise'. In particular, > > `wdired-change-to-wdired-mode' does this, because it changes > > the major mode from `dired-mode' to `wdired-mode'. > > > > The value of var `dired-buffers' is thus generally a list of > > all buffers in `dired-mode'. (This can include buffers that > > have been killed, so filtering with `buffer-live-p' is also > > needed.) > > > > The only exceptions are (1) commands `find-dired' and its > > derivatives such as `find-name-dired', and (2) commands > > `find-lisp-dired*'. They're exceptions because they bind > > `dired-buffers' around their work (see above), so as not to > > add their resulting Dired buffers to `dired-buffers'. > > > > This means that code can't just examine `dired-buffers' to > > find the set of Dired buffers (buffers advertised to be in > > `dired-mode'). Instead, it needs to filter `buffer-list', > > to gather the buffers with modes derived from `dired-mode'. > > That's unfortunate - it's much more costly, in general. > > > > The question is whether there's a good reason why find* > > buffers, which are in `dired-mode', should be excluded from > > being "advertised" as such, i.e., whether they should really > > be excluded from `dired-buffers'. And if so, why? > > > > It was apparently a 1998 commit by Richard that added the > > protective binding to `find-dired', but with no comment as > > to why. > > > > In the Emacs sources, at least, there are no other places > > that exclude `dired-mode' buffers from `dired-buffers'. > > And grepping for `find-dired' shows that there are no places > > that rely on such exclusion for `find-dired' buffers. Same > > for `find-lisp-find-dired-internal' (which binds > > `dired-buffers' for `find-lisp*'). >=20 > Thanks. >=20 > If we allow find-dired to add its buffers to the list in > dired-buffers, we need to make sure they are removed from the list. > We also need to make sure that functions which scan the list and > operate on its buffers will DTRT with find-dired buffers found in the > list. Is all of this reasonable to do, and if so, is it planned to be > done as part of the changes you are discussing? I'm afraid I don't understand. 1. What do you mean by making sure they're removed from the list? The only= reason to remove a file/dir from the list is, as is the case with WDired, = if the mode is changed from `dired-mode' to something else. (WDired removes= its buffer from the list, for that reason.) As I said, there are no uses of `dired-buffers' in the Emacs source code, a= part from what I mentioned - no function that accesses `dired-buffers' at a= ll. 2. What do you mean by a function operating on Dired buffers doing the righ= t thing? What can that possibly mean, independent from any particular such = function? Again, no Emacs source code accesses (in order to operate) on its buffers. ___ There's no way to know what might exist in the wild, of course - code that = might use `dired-buffers' somehow. (I would guess zero such use, but I cou= ld be wrong.) We could certainly add to the `dired-buffers' doc string, pointing out that= `dired-buffers' can include Dired buffers with "listings" created by find*= or from an arbitrary list of files&dirs, i.e., the files&dirs listed aren'= t necessarily the result of `ls'. I don't think it's necessary to do that, but it wouldn't hurt. ___ The other thing that code should be aware of, and which is not documented A= FAIK, is that an entry in `dired-buffers can include buffers that have been= killed. Any code that might want to operate on the buffers (there is none= , so far, AFAIK) needs to be aware of this. E.g., it will likely want to f= ilter out killed-buffer entries. I do think it might be good to mention this in the `dired-buffers' doc stri= ng. ___ We already "allow" buffers with arbitrary files & dirs to be added to `dire= d-buffers' (via `dired' with a cons DIRNAME arg). I really don't see how a= lso allowing the Dired buffers with find* files & dirs is different. We do= n't say or do anything special if you use a Dired buffer with an arbitrary = list of files&dirs. I don't see anything different/special about the Dired= buffers from find*. I do understand that historically we've prevented this, so we should think = about it. But so far, I don't see any reason for it. I'm generally conser= vative on such things, but in this case I'd suggest we just do it. We could also add a defvar that controls whether to do this, to be more con= servative. If we do that, I'd suggest that by default it allows find* Dire= d buffers. Any code that finds their inclusion problematic could change t= he variable value, by binding or assigning. ___ I suspect that the prohibition for `find*' was overengineering, for lack of= full understanding of Dired. There's a lot of stuff in Dired, some of whi= ch has never seen a lot of use. In particular, Dired buffers with lists of arbitrary files&dirs (not from `= ls'). That feature was (apparently) provided from the get-go, but I doubt = that it's been used much. I feel like I might have been the first to take = advantage of it, but I don't know. I mention this as a possible reason why `dired-buffers' was made off-limits= for find*: maybe we just weren't clear enough about what might be involved= or what might happen with a non-`ls' buffer. If so, that's kinda where we= are today too. It'd be great if Richard happened to recall something abou= t why he made it off-limits, but I don't expect he would 27 years later - I= certainly wouldn't. HTH. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 07 13:33:31 2025 Received: (at 78658) by debbugs.gnu.org; 7 Jun 2025 17:33:31 +0000 Received: from localhost ([127.0.0.1]:49491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNxQA-0005QC-LF for submit@debbugs.gnu.org; Sat, 07 Jun 2025 13:33:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53166) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNxQ8-0005Ps-5Y for 78658@debbugs.gnu.org; Sat, 07 Jun 2025 13:33:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uNxPz-0001mU-WC; Sat, 07 Jun 2025 13:33:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=DgiB26AwW3WXXMtV5yyvxdXHJGxd6L9kRI1rQmBe6yU=; b=nzsdVSghEI2n mJGjJyCBXWoKnZ+rhR95iZJ36uW6dss3MYcV1ZRKziXfWLNflqK6Jo4CY+nH4wWX2W80yqb3Yy22h 4kr7saPM/7nvgMdtwwSwwpEXGjGBCfGbFmLkILiCfApcV/tju3Pd32OgWhQYlgV6x2aM+WCusZnZB LqUk7lOu7oO/CWEZ+bgM6dobb2iES+iOnFhqmMZzooDrROPfcnJLXNZo2JQFYdOZQiyYefN2suasI lvjrRRNU0ZdgyC5zFj/iY49ppVrmDYJjwWQBb9wnLbhp5PADg8GdmMuA9nR7ETIzofdt/IxqZ3zfb Sun+3KBehixKp8QmXUQKig==; Date: Sat, 07 Jun 2025 20:33:11 +0300 Message-Id: <86plffh2y0.fsf@gnu.org> From: Eli Zaretskii To: Drew Adams In-Reply-To: (message from Drew Adams on Sat, 7 Jun 2025 16:52:14 +0000) Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> <86cybim3hh.fsf@gnu.org> <8634cbj1lz.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78658 Cc: rms@gnu.org, psainty@orcon.net.nz, 78658@debbugs.gnu.org, juri@linkov.net, stefankangas@gmail.com, acorallo@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) > From: Drew Adams > CC: "psainty@orcon.net.nz" , > "78658@debbugs.gnu.org" > <78658@debbugs.gnu.org>, > "juri@linkov.net" , > "stefankangas@gmail.com" , > "acorallo@gnu.org" > , "rms@gnu.org" > Date: Sat, 7 Jun 2025 16:52:14 +0000 > > > If we allow find-dired to add its buffers to the list in > > dired-buffers, we need to make sure they are removed from the list. > > We also need to make sure that functions which scan the list and > > operate on its buffers will DTRT with find-dired buffers found in the > > list. Is all of this reasonable to do, and if so, is it planned to be > > done as part of the changes you are discussing? > > I'm afraid I don't understand. > > 1. What do you mean by making sure they're removed from the list? The only reason to remove a file/dir from the list is, as is the case with WDired, if the mode is changed from `dired-mode' to something else. (WDired removes its buffer from the list, for that reason.) > > As I said, there are no uses of `dired-buffers' in the Emacs source code, apart from what I mentioned - no function that accesses `dired-buffers' at all. > > 2. What do you mean by a function operating on Dired buffers doing the right thing? What can that possibly mean, independent from any particular such function? > > Again, no Emacs source code accesses (in order to operate) on its buffers. It is accessed in dired.el, AFAICT. What I meant is that if find-dired wants to use this variable, it needs to play by the rules the other users do. Don't ask me about the details, because I'm not familiar with them. But it is clear that there's a protocol wrt this variable, which determines when and which buffers are added to the list and when they are removed. I'm saying that find-dired should abide by the same protocol. As for the DTRT part, what I meant was to ask whether the current users of dired-buffers will know what to do with buffers put there by find-dired, or might they be surprised and confused by them? Buffers created by find-dired are in Dired mode, but they are not exactly Dired buffers, in the sense that they don't necessarily show files that live in the same directory. E.g., what will happen if the user invokes Wdired on such a buffer? Again, please don't ask me to provide you with detailed instructions, because I don't have them. I asked the questions that bothered me wrt to allowing find-dired to use this variable, but the answers should come from people who want to allow that, after they do the necessary research into the current uses of the variable and the possible effects of allowing find-dired add its buffers to the list. Put it in other words: currently dired-buffers seems to be an internal variable used by Dired for its own purposes; if find-dired wants to become its user, it should make sure it will play by the same rules so as not to disrupt its current users. > I suspect that the prohibition for `find*' was overengineering, for lack of full understanding of Dired. I rather guess that there was a real problem which caused that, but that problem is lost to time, or at least I wasn't able to find its description. The date of the change predates all the mailing lists we nowadays use, including even my private archives of the private mailing list we used back then. From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 08 19:42:30 2025 Received: (at 78658) by debbugs.gnu.org; 8 Jun 2025 23:42:30 +0000 Received: from localhost ([127.0.0.1]:53252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uOPen-0004Un-EC for submit@debbugs.gnu.org; Sun, 08 Jun 2025 19:42:30 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:59404) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uOPel-0004Ue-30 for 78658@debbugs.gnu.org; Sun, 08 Jun 2025 19:42:28 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 558NF1Ka021899; Sun, 8 Jun 2025 23:42:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=sLfOovewV10aezhq1fIVZpa1yixmKsZ/mivLkQDYoi0=; b= ap8LvMYIYJwoE+PHaEjv2Z3sh0jGe5zdmV8bZpdL69cIRCv7qQnmxIntKbZv3iLA vJjuLtnrUZs2MXxpdsG12sWpl/ChEHIZ4JX6qQv5hRaehyukS2y7DwOcsh2xHhL8 oE6L6dCOxICTHecYNp7Vb+1yCzS/3OQzNbPqFEV25QCs8XGJgBcCt1cyynEtlPQV Tq0Iv8Gc+Kl2+kEId7xBlGHBHNRKb1T8g6+Xqtuivl2GLf9+s0rNxNtif1h7laeg C7pWY+yMbY9vzMhlOyKU3rPnoby7Ny7LXhMqsFdgnPbQDjT4o8TTyvrrkLAms8O8 6/duFL6Ry7P43svibDwstA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 474d1v1880-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 08 Jun 2025 23:42:25 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 558MARmp007531; Sun, 8 Jun 2025 23:42:24 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2082.outbound.protection.outlook.com [40.107.220.82]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 474bv6mcvc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 08 Jun 2025 23:42:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PoZMyH+3jDEs+qWmUpXhRZEeiR5z0Kb9Dhm5WZHEfDPiw4vlbucTr/gL2ZYCJ9sdTmKBJEqR1F1idg4INIlbghXjeasMkxzqtfDrgiRqx8xklCEPjf38h14TdKTXvhP0BdYDH7oii48wPfccPB7ej2iRviEWo/Z09YJEyGrnUGfMxNcohL2rEzdVKocrTZhZdziyqP4CnOoPkmiyiCuvaQy0Sj3mvu8/97HSypi5FcqmBDSnK52Hfqd/D0ZZvd0FWqkgPMtdsrvjTjO+u7eLgDTIkDLEw7SZubzkzKbHJHRed/LFqVU9J6dkvA/b1eUbUxgjipdIl4Z1vGSaiCJr8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sLfOovewV10aezhq1fIVZpa1yixmKsZ/mivLkQDYoi0=; b=OCFrey8FTdMEvqK8fyas/G7rluj1LvayCBEHvl2iAw9cbPEmG0+tgqJPcmGRPHYL0QVAz/A/jPRigu3Wuk+kyPjRYlNvw+E4oEzjsGVqgWuSTVAaMLBGv0echxweHbWScqHExcZm76gCSG36rAgTQTyDObOpj2zi8jsW/yxwliRTpHJMZ1zHatTdIvG2cVvpBBNyTraQqWyO8Ius/RPSkZO47lxQjdoR4PeHiIDeCU1iu6QRwA26SxhKg3giyUUMQ2L2jnkHSFHUzeoS+xRYJyVceFI4U1BW7MaEd6FY/6ydVeaO8mUwedmMPS8qqrGqlCjbTTELjc3182JU105rKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sLfOovewV10aezhq1fIVZpa1yixmKsZ/mivLkQDYoi0=; b=ZWIKd2DfLjrP5+nvoNXRhFvleBaG6oCi98/rSahF4zSJfJYbun9pn9iej2zUbh2AtWwW1LMSEWFRbjjDtP4gtyg4Q3OVxChzfgHjU2Hcjn+eMhwyuFomZs/qSUGrXGy+LmglhoyouhxFSqQdSGcjsMqkVHJUnmn0EjdB42Fg2BQ= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CY5PR10MB6239.namprd10.prod.outlook.com (2603:10b6:930:41::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.26; Sun, 8 Jun 2025 23:42:21 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%7]) with mapi id 15.20.8813.021; Sun, 8 Jun 2025 23:42:21 +0000 From: Drew Adams To: Eli Zaretskii Subject: RE: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Topic: [External] : Re: bug#78658: 30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers Thread-Index: AQHb19Jetkrl63/iKU+PyGu25hIbsbP5fOKA Date: Sun, 8 Jun 2025 23:42:21 +0000 Message-ID: References: <71c929d7bc29e93c6a370e6f4c2160b5@webmail.orcon.net.nz> <87wm9wueqs.fsf@mail.linkov.net> <42fda2bc64786a477ecd3f0051d5a08d@webmail.orcon.net.nz> <99d38c1f249363195c9b8cbf15160982@webmail.orcon.net.nz> <86cybim3hh.fsf@gnu.org> <8634cbj1lz.fsf@gnu.org> <86plffh2y0.fsf@gnu.org> In-Reply-To: <86plffh2y0.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CY5PR10MB6239:EE_ x-ms-office365-filtering-correlation-id: ba2e1225-6672-4f12-0dc3-08dda6e61d27 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?gtczAh+QZMymgM50q1VOF+/63OQ3XE0iRojrWocCxSk2VTjPACdQktp5OBzU?= =?us-ascii?Q?1LjD2TOW+puv3HUZOonHLn0ihgou85lAJF8sWf+96B2TaniDkZqVdK+Jaw2g?= =?us-ascii?Q?Ms6s88vms3iGp3W/b768EDxMRZxO0+d2Mze5EzCDM5DLhg70E8fTMJXggC7F?= =?us-ascii?Q?1bXxjeoS7Esl27+oxzccMI+bXw6vsKKUaTwEeH6IZQM8DTqIZ4VO4fUiGJde?= =?us-ascii?Q?DyXDo/ZWxGVWSHrDV65cixLoIVjDLA3b4nY5uNlqfvNM3Nam3IFoFf9tIAD6?= =?us-ascii?Q?VP8tstKJ4FyHF81E59u2nqXEq9IdXT42DZRgj/BrggvDOK3vlEI4wf3oTdFX?= =?us-ascii?Q?k7SR6CeQ1oyKAZt5jPrEYhyjW3Hju4EJrqbvD9fV3z4Ffyw+2+KMzyLBOxqE?= =?us-ascii?Q?f49lFdDNhYrqmD6xDX0IWgbWzL6z5fvFUS2U5nWNwsXKoO167hOnrp14mlUq?= =?us-ascii?Q?qN2KtzKpo2lr6Ci4YxXPAOeVZ3uZgnjvvCmsSOEyPRjV7EWkgV5k6cS3KYvl?= =?us-ascii?Q?WSVOpqUv4AR4LA8k+SOlPgc3pu/JKYzDBA+uQXscAHzvjw3wVWig2CF+gCcV?= =?us-ascii?Q?cIQKzSF4wBNm5zr3t+JNQ2T6WGEednnyT6lRE60oI9G7PTky4YTpCQycE/3i?= =?us-ascii?Q?SRUPo5ErdEDkDYY3tZtuSYiqQFAcMP6X+4yo7nB5kpFxJkkvmVoFvgUOW2EL?= =?us-ascii?Q?vGA++x7avVPuRurncj+OqVNbArDQv0jhRkFkjkCrUn2R/dh7TSDX9kfi4X0I?= =?us-ascii?Q?n7qARwMlpO4fO/P5zdTjM4HMc1GxpDv/t3Weysqaz95vQG7eu/pMw2wG7lUZ?= =?us-ascii?Q?sbM9/IQFPzFcqLBlWOjiPpSgpGc8B/m0+qQdLZBti3KrS7r2NR+9xuJ9eXoz?= =?us-ascii?Q?b+yC8iiS4xrEuCukW7aBdsPmVTs5cU0HUybkcXeYSzNiu/zZmPlnFI7Xt139?= =?us-ascii?Q?4lsevwgYKA9D1a9txOEs5IM01ZBJPTHa+fNuhysHoAWZQlvsJZP8R/mOGW9f?= =?us-ascii?Q?x0+9evsudwzbv49ckmjsc6NcL5QrQOuF9QHKFG5/rCVSXyb0lCMi0CRBkvnL?= =?us-ascii?Q?naYTEGqWs/JTQCJmZpNJqKPV6gujC7klSYRsDP69uygpMRGZf8q4Ytuv935w?= =?us-ascii?Q?Y0rC9FjA3uf9VKUortC4CX5DcOTBYM3paL5oVSKY4hFBT8nPOiMgf82YddQ3?= =?us-ascii?Q?WeezUNxefeN0tu748ZA26T3Gv4GG8yuSSf/r4H52s5Rt2/HD4vtg61bhq99J?= =?us-ascii?Q?2WCqgZFLySyKAlgu8Qcl8uQPkm3AZsd4aikyfpBQHSBtXOKUXt9K0hgotqJG?= =?us-ascii?Q?cc7Ok26PCpjP4yABnkkZJkb/6mRkKwKnBw/Jdi5wOxnHg3HU4bXo7qTQ5CJV?= =?us-ascii?Q?bpCNtbp77HYOcFBikNF+WSoEvpdjYY/vhPmTQyfmlkN9YzllOHS5r0UmfCGL?= =?us-ascii?Q?yZgPxM1+9j5P1j0yLYEgOnP0YCpCJz9ZO3p083ns1bm7wKiElNeENvPQW8BB?= =?us-ascii?Q?Yp2TKX4BysOCzK0=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?YUKox8ATtS/G4dnMs72XvUdNknmx5bgLADQcZlMPWETHodYMHZ5j4Qyvfqhd?= =?us-ascii?Q?GJJwBx5JMcPdm5yXJdzxT1y0Gae0Japf0olTHBq3N8Ii65ptN6JQmrihJQD+?= =?us-ascii?Q?xh7MUOp0M5g7MGUq/El+RQtBsgL2TyzMjocUm8kTrQuI73c7aCKg1rRi1vxl?= =?us-ascii?Q?Qxo66Wdi4MjcD97Cw9yZLCQVZVmd6KZdfWEzaKqyaJ+x0ZsExeEpeZ3cQwKQ?= =?us-ascii?Q?6m82NGKWb/uC0z1S856Lx90EwoEXCLojsqGWKXgjZ2ktH8NgoOMXNjPjOaxt?= =?us-ascii?Q?UymlvimUqA8KW89pz9eLjlHf1yTuTyFFZWJSG7/A+x1YL2MLF+Fzmtrtks1I?= =?us-ascii?Q?nkf/n7I6RCdOWTaB5eUg5vFgHI+zfBStTqELXT0p0e7z1Np+8y2Nt0i3O7mt?= =?us-ascii?Q?DPM0DaZP3LGs7ou6lGJ8fvs0nW9fhpMsoENbOPjq5NUZqpD+E/iO6Bfkq3qQ?= =?us-ascii?Q?bvKhQtynZ1yqePrS84OvJNtJ+31y8jSmbyhGYbSXq8cjtxx1PIE7mljYbqxt?= =?us-ascii?Q?rQ/MCkgcgz/N2iGijRqesyGoe0Jlr/QtgyaCZxPK8AkcZUJalZRSfz2ufIjK?= =?us-ascii?Q?tyP6qglQGKnQyf6QWTjlJVOstIJReRyt6fiYMKHppykrhs6CCVqt2y30KFHv?= =?us-ascii?Q?8ntfU+wjPKqNhdKL3sL/IQ+TUooCwrD49adDrE0BUn1S7ka1Kv6MYL6hsBUQ?= =?us-ascii?Q?QIIsOEfQL2kKhTJIn/IKQyCWEC+zli/XzSueWNtvRSJb+37ZDIoDZXm3wiOO?= =?us-ascii?Q?sNk9Vgxhs+Ej7xN9psUe2LGHG0C/l0dnl005oJQksq+wxh5hCztSmAmxOaOO?= =?us-ascii?Q?8uc9Ce7uOfCJ2zA6vrji8ZOaW+WDnG2yisw9rGp+MIl/WZkC3rZT+MyzLPcF?= =?us-ascii?Q?pWKSYhidTq+qm7GaVJmLbYRGrqvDanv94FFDc84Yug5oV2yZPjXfWOyiltkh?= =?us-ascii?Q?rSoHP5IdNyq+KsQ/gWuMsLTBovhWr1b3T/INw5Timanv9tyZjRKdQPpf3+Jc?= =?us-ascii?Q?BZ4asFIvkCkWaj3KE7ZY7mGcKECueawdjfVxPKdATbimzJrFPsT0kS37I4Tn?= =?us-ascii?Q?aw7i4v5yvgVRePNedJ4k4pf4I2okZZkMq60d4qrQV/te/7rcxbGQMzTg1kze?= =?us-ascii?Q?bbyYEy+qa+zjOAPvPgUhh2J2OzzD4qPy59gpXR12n5s9NOO34w5oAmxd0qcS?= =?us-ascii?Q?/GOw2kCRZe4Y70jMdfMwvXuO8MQE9IGzRfnU3q5GplyzLf2DUIrHxUv+rot0?= =?us-ascii?Q?J/kgnDGahODQyNvnvjG3rOPVhbl1pWMcKdvkDabar6DnaqJskTw2gtyNPVQa?= =?us-ascii?Q?eKzn73vBw++YuUFrHSl65SBBGcxDwQcVMdudyxouUWHPQfmL+77A/5yo2c+D?= =?us-ascii?Q?M6vuqcWAyZdOJwPvdie5X5F2/FzRZlNPsCW80s3LSydp1Tb583x45derjypP?= =?us-ascii?Q?EZhe4tyCyNwkr5uxJHXxc4wC5pWTGJERMPAx3WcnijjOoiqq27sBmSzaeNNM?= =?us-ascii?Q?gEHZ1sqtdNyo5nmFLkiNS6DlDwTOtrqPaG6UyzouI8bonclB2c/A984LoF9F?= =?us-ascii?Q?r+Hhl3pqi1gLh8vswC3oUW3OQjHGHbdZoEbPfDGf?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: GSTl3bQqzqNVF4x4FS/FKCe0YBLrU2nDl+oJlf+5azaQZ5TQWinVa2Lt0X9lER+25vtbBTysfU9zcAtQmQ2N0M/sPRwb/VvwoAkKxyc2RUBHFKEtSv4RAgJQqzGzRJFmpZ54z8vtW5GQ26MJwvi6ou3Uz3JKoxrRKg9EnyeVYlhbp98bv8BZmAFJkOr3jM82RSYzxF0XGRZUGneT51uB/dG00MJSO9zmRHDzZaNM9kuWKbdWjzUqK3sDGFnF/xr8D83du5nqQk9bs9wAaia7BXAid9rnuIQUYX4/RGFQQNecIKU1y+vwG+XGquXWnFuK3ZRcF5BDObfPMRrr2uwyw89P/4gAzv4q/B6rxJQyprokxmSIEw9Nw4n0dJYqNEsZcaDZX8SKCQCgGP6kt0PJpDUJoxKQsYBSPaLFDhbhkrVibcJM821jZzzDlAAi1o6GPbXoTMLre85rqRyKBgSxkiguVAI5mcVu5J+iuJRypRitGARzsBXTI79sgJHEfJ6jqcRrsV/q3ANQqx2b5/DDjZ1QJ2Rt1HfbC3aR5AFX2NAlwiHhQNZ1wOpFXmy25WXMPpvyBb/7crg5+4Dpmt7a9v/sAK4mAdv8rxPW3lRjk9s= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba2e1225-6672-4f12-0dc3-08dda6e61d27 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2025 23:42:21.8149 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: baG7EkJKI+mtIWaKnwbgxhQzaElMK954DIxpEBmXlBgHIn6iiFgZ71PcZvLS3eL6CEpLc3qAEFDmZ7YZpb5lsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6239 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-08_06,2025-06-05_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2506080193 X-Proofpoint-GUID: ZG0dKgbfiT8vCcUw7WNsSCxppiQQDWyM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA4MDE5MyBTYWx0ZWRfXzmfL58apDTSX Z62SbD18CxyN53dMBxBZmU/aWpxB4EFw2uDORf0iuPf4RtdMNiHBjZfhHRmEUaC/o2A4wLzSZ+t szUTXmwDuv4SUVdx8rYDGy4UvaDKnS7CITZQoBMZNoVwFRI4R2b+dRZ7Fe0UHpmY97lMUjhh5tH Trr9vG9HQI3dgSrrYfwUFFZg4sTgiw/Ulc698r7sqCDcSaeHWRq80ljFcRdVuyo8a6lWK1masvw g4DuC7VOpwS2nU5Eqw1f9XnvB6j2sSfKbXzndhf6/0m5QKKYHSvhn23Hzot90yFzNVOSmqc//yP oIujcnzYyDwLfiV/lvY5tNKg4drJTQcxRBy1qV+stOc3RJGRYHkJTxCe+/j48DiXMA9JzC0Lkej AAzbK0czDm4sQvbQAf2s05NleZlrP8PVfLBhyNr0RYfjzPqhGiGerFlDHa5NV82MWfLRfXs2 X-Proofpoint-ORIG-GUID: ZG0dKgbfiT8vCcUw7WNsSCxppiQQDWyM X-Authority-Analysis: v=2.4 cv=d731yQjE c=1 sm=1 tr=0 ts=68461fe1 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=GoEa3M9JfhUA:10 a=WBiRTavwyZg_zmQ9lnIA:9 a=CjuIK1q_8ugA:10 X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: 78658 Cc: "rms@gnu.org" , "psainty@orcon.net.nz" , "78658@debbugs.gnu.org" <78658@debbugs.gnu.org>, "juri@linkov.net" , "stefankangas@gmail.com" , "acorallo@gnu.org" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.7 (--) > > > If we allow find-dired to add its buffers to the list in > > > dired-buffers, we need to make sure they are removed from the list. > > > We also need to make sure that functions which scan the list and > > > operate on its buffers will DTRT with find-dired buffers found in the > > > list. Is all of this reasonable to do, and if so, is it planned to b= e > > > done as part of the changes you are discussing? > > > > I'm afraid I don't understand. > > > > 1. What do you mean by making sure they're removed from the list? The = only > reason to remove a file/dir from the list is, as is the case with WDired,= if > the mode is changed from `dired-mode' to something else. (WDired removes = its > buffer from the list, for that reason.) > > > > As I said, there are no uses of `dired-buffers' in the Emacs source cod= e, > apart from what I mentioned - no function that accesses `dired-buffers' a= t > all. > > > > 2. What do you mean by a function operating on Dired buffers doing the > right thing? What can that possibly mean, independent from any particular > such function? > > > > Again, no Emacs source code accesses (in order to operate) on its buffe= rs. >=20 > It is accessed in dired.el, AFAICT. Apart from `dired-(un)advertise', which I addressed, it seems to be used only by `dired-find-buffer-nocreate' and others to access one of the `dired-buffers', which is normal. And I don't see any harm from the functions in `dired.el' using Dired buffers created by find*, and I don't think any is possible. (Famous last words, perhaps?) > What I meant is that if find-dired wants to use this variable, it > needs to play by the rules the other users do. I don't see any rules" that the others (which means dired.el functions) play by. `dired-advertise' adds to the list and `dired-unadvertise' subtracts from it. The other functions that access it just use a buffer from `dired-buffers' for Dired, which is normal. > Don't ask me about the > details, because I'm not familiar with them. I won't ask - I think I've said what they are (above). But if I'm missing something, please let me know what. > But it is clear that > there's a protocol wrt this variable, which determines when and which > buffers are added to the list and when they are removed. I'm saying > that find-dired should abide by the same protocol. Adding and removing is done only by `dired-(un)advertise'. I've spoken to that. `dired' invokes advertise when it sets the mode to `dired-mode'. The only functions that call `dired-unadvertise' are `dired-rename-subdir' and `wdired-change-to-wdired-mode', which I think I've addressed. find* has only to remove the binding of `dired-buffers', to cause it, like `dired', to add an entry. And find* has no reason to ever remove a `dired-buffers' entry. If one needs to be removed because of deletion of a top-level directory then `dired-rename-subdir' will do that. And if one needs to be removed because of entering WDired mode then `wdired-change-to-wdired-mode' will do that. Again, I don't think this is any different than the case of a Dired buffer with an arbitrary listing (cons DIRNAME arg). > As for the DTRT part, what I meant was to ask whether the current > users of dired-buffers will know what to do with buffers put there by > find-dired, or might they be surprised and confused by them? I don't see how or why they would be surprised, or even recognize such a buffer as coming from find*. And they shouldn't to do anything special or different for such a buffer. Again, I think this is the same as the case of a Dired buffer with an arbitrary listing. > Buffers > created by find-dired are in Dired mode, but they are not exactly > Dired buffers, in the sense that they don't necessarily show files > that live in the same directory. That's exactly the case of a Dired buffer with a set of arbitrary files, i.e., what happens if you invoke `dired' with a DIRNAME arg that's a cons (of a buffer name and a list of files from anywhere - even on different file-system trees, e.g. different Windows drives). There's no special handling of Dired buffers with arbitrary files - their buffers are happily included in `dired-buffers', with no problem. That's been the case since Day One, AFAIK. > E.g., what will happen if the user invokes Wdired on such a buffer? I think it should work as well as it does now. After you, e.g., rename some files and dirs in the buffer, and you use `C-x C-q' again, those files and dirs should stay renamed. That's what happens if you do that in a Dired buffer with arbitrary files. > Again, please don't ask me to provide you with detailed instructions, > because I don't have them. I asked the questions that bothered me wrt > to allowing find-dired to use this variable, but the answers should > come from people who want to allow that, after they do the necessary > research into the current uses of the variable and the possible > effects of allowing find-dired add its buffers to the list. >=20 > Put it in other words: currently dired-buffers seems to be an internal > variable used by Dired for its own purposes; if find-dired wants to > become its user, it should make sure it will play by the same rules so > as not to disrupt its current users. I hear you, but I don't know what else to say. I do agree that someone should give it a try and see if they encounter problems that aren't there already. I'm not too well placed to do that. I did try, with vanilla Emacs 30.1, to first see what happens if you just try (with no changes) to use WDired on a find* Dired listing. Then I tried doing the same with the only change being the removal of binding `(dired-buffers dired-buffers)' from `find-dired-with-command'. (It's actually in that function that the binding is, in 30.1; it used to be in function `find-dired' itself.) In both cases I ran into this error with Emacs 30.1 when I tried to exit WDired mode after renaming a file: Debugger entered--Lisp error: (void-variable wdired--old-marks) (dired-mark-remembered wdired--old-marks) (let ((inhibit-read-only t)) (dired-mark-remembered wdired--old-marks)) (progn (cond ((and (stringp dired-directory) (not (file-directory-p dired= -directory)) (null some-file-names-unchanged) (=3D (length files-renamed) 1= )) (setq dired-directory (cdr (car files-renamed)))) ((and (consp dired-dir= ectory) (cdr dired-directory) files-renamed) (setq dired-directory (cons (c= ar dired-directory) (let* ((--cl-var-- ...) (f nil) (--cl-var-- nil)) (whil= e (consp --cl-var--) (setq f ...) (setq --cl-var-- ...) (setq --cl-var-- ..= .)) (nreverse --cl-var--)))))) (revert-buffer) (let ((inhibit-read-only t))= (dired-mark-remembered wdired--old-marks))) (if changes (progn (cond ((and (stringp dired-directory) (not (file-direc= tory-p dired-directory)) (null some-file-names-unchanged) (=3D (length file= s-renamed) 1)) (setq dired-directory (cdr (car files-renamed)))) ((and (con= sp dired-directory) (cdr dired-directory) files-renamed) (setq dired-direct= ory (cons (car dired-directory) (let* (... ... ...) (while ... ... ... ...)= (nreverse --cl-var--)))))) (revert-buffer) (let ((inhibit-read-only t)) (d= ired-mark-remembered wdired--old-marks))) (let ((inhibit-read-only t)) (rem= ove-text-properties (point-min) (point-max) '(old-name nil end-name nil old= -link nil end-link nil end-perm nil old-perm nil perm-changed nil)) (messag= e "(No changes to be performed)") (revert-buffer))) (let ((changes nil) (errors 0) files-deleted files-renamed some-file-name= s-unchanged file-old file-new tmp-value) (save-excursion (if (and wdired-al= low-to-redirect-links (fboundp 'make-symbolic-link)) (progn (setq tmp-value= (wdired-do-symlink-changes)) (setq errors (cdr tmp-value)) (setq changes (= car tmp-value)))) (if (and wdired-allow-to-change-permissions wdired--perm-= beg) (progn (setq tmp-value (wdired-do-perm-changes)) (setq errors (+ error= s (cdr tmp-value))) (setq changes (or changes (car tmp-value))))) (goto-cha= r (point-max)) (while (not (bobp)) (setq file-old (and (wdired--line-prepro= cessed-p) (wdired-get-filename nil t))) (if file-old (progn (setq file-new = (wdired-get-filename)) (if (equal file-new file-old) (setq some-file-names-= unchanged t) (setq changes t) (if (not file-new) (setq files-deleted ...) (= if wdired-keep-marker-rename ...) (setq files-renamed ...))))) (forward-lin= e -1))) (if files-renamed (progn (let* ((val (wdired-do-renames files-renam= ed))) (progn (ignore (consp val)) (let* ((x0 ...) (x1 ...)) (let (... ...) = (progn ... ...))))))) (wdired-change-to-dired-mode) (if changes (progn (con= d ((and (stringp dired-directory) (not (file-directory-p dired-directory)) = (null some-file-names-unchanged) (=3D (length files-renamed) 1)) (setq dire= d-directory (cdr (car files-renamed)))) ((and (consp dired-directory) (cdr = dired-directory) files-renamed) (setq dired-directory (cons (car dired-dire= ctory) (let* ... ... ...))))) (revert-buffer) (let ((inhibit-read-only t)) = (dired-mark-remembered wdired--old-marks))) (let ((inhibit-read-only t)) (r= emove-text-properties (point-min) (point-max) '(old-name nil end-name nil o= ld-link nil end-link nil end-perm nil old-perm nil perm-changed nil)) (mess= age "(No changes to be performed)") (revert-buffer))) (if files-deleted (pr= ogn (wdired-flag-for-deletion files-deleted))) (if (> errors 0) (progn (dir= ed-log-summary (format "%d actions failed" errors) nil)))) wdired-finish-edit() (if (y-or-n-p (format "Buffer %s modified; save changes? " (current-buffe= r))) (wdired-finish-edit) (wdired-abort-changes)) (if (buffer-modified-p) (if (y-or-n-p (format "Buffer %s modified; save c= hanges? " (current-buffer))) (wdired-finish-edit) (wdired-abort-changes)) (= wdired-change-to-dired-mode) (set-buffer-modified-p nil) (setq buffer-undo-= list nil) (message "(No changes need to be saved)")) wdired-exit() funcall-interactively(wdired-exit) command-execute(wdired-exit) I tried to do this on Windows (11), with Cygwin. Dunno if someone else will see the same thing. I also tried with vanilla Emacs 26.3. There I didn't get any error, and I saw the same behavior wrt WDired with and without the (dired-buffers dired-buffers) binding in `find-dired' (that's the function that has the binding, in Emacs 26.3). But in Emacs 26 when exiting WDired mode (with or without the dired-buffers binding) the find Dired buffer is reverted to the directory where the find was issued (same dir as the find result), but showing the full directory, not just the found files. What's more, in that Dired listing, preceding the privileges (-rw-rw-rw-) there are two additional columns, with values such as these: 281474977338773 0 281474977338774 1 281474977338792 1 281474977338758 1 ... So in 26.3, at least, there's a problem with exiting WDired mode, but it's unrelated to the proposed change. In sum, I don't seem to be able to test this well. But from what I do see, there's no difference, wrt using WDired with find*, with or without the binding (dired-buffers dired-buffers). And in both cases the renamed files stay renamed, wherever in the find* results they may be (as one would expect). I'm hoping someone else will try the same thing or similar, on Windows or another platform, to see if removing the dired-buffers binding from find* has any negative consequence. Even a quick sanity test would be good. I'm afraid I'm no more help, here. > > I suspect that the prohibition for `find*' was overengineering, for lac= k of > full understanding of Dired. >=20 > I rather guess that there was a real problem which caused that, but > that problem is lost to time, or at least I wasn't able to find its > description. The date of the change predates all the mailing lists we > nowadays use, including even my private archives of the private > mailing list we used back then. Understood. My suggestion is to make the proposed change, but to also provide a defvar to choose to allow/disallow inclusion of find* Dired buffers in `dired-buffers', i.e., choose whether to bind `dired-buffers'. I'd also suggest that by default the defvar should have find* buffers be included, not excluded. If ever a problem from that is reported we could change the default value, but I don't expect such a problem. Maybe I'm too optimistic. Still, it would be good to be able to choose, at least.