From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Allen Li Newsgroups: gmane.emacs.bugs Subject: bug#46884: [PATCH] 27.1; Cannot run find-dired with -maxdepth Date: Wed, 3 Mar 2021 03:38:49 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000075da3605bc99974f" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15667"; mail-complaints-to="usenet@ciao.gmane.io" To: 46884@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 03 04:40:12 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lHIMt-0003x5-Pt for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 03 Mar 2021 04:40:11 +0100 Original-Received: from localhost ([::1]:43028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lHIMs-0002oP-Dd for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 02 Mar 2021 22:40:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53278) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lHIMk-0002oG-TM for bug-gnu-emacs@gnu.org; Tue, 02 Mar 2021 22:40:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43227) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lHIMk-0007ep-LF for bug-gnu-emacs@gnu.org; Tue, 02 Mar 2021 22:40:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lHIMk-0008PD-Hh for bug-gnu-emacs@gnu.org; Tue, 02 Mar 2021 22:40:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Allen Li Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Mar 2021 03:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46884 X-GNU-PR-Package: emacs Original-Received: via spool by 46884-submit@debbugs.gnu.org id=B46884.161474275032246 (code B ref 46884); Wed, 03 Mar 2021 03:40:02 +0000 Original-Received: (at 46884) by debbugs.gnu.org; 3 Mar 2021 03:39:10 +0000 Original-Received: from localhost ([127.0.0.1]:54773 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHILt-0008O2-Id for submit@debbugs.gnu.org; Tue, 02 Mar 2021 22:39:10 -0500 Original-Received: from mail-oi1-f180.google.com ([209.85.167.180]:43006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHILq-0008NX-Hi for 46884@debbugs.gnu.org; Tue, 02 Mar 2021 22:39:07 -0500 Original-Received: by mail-oi1-f180.google.com with SMTP id l64so24450181oig.9 for <46884@debbugs.gnu.org>; Tue, 02 Mar 2021 19:39:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=felesatra-moe.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=gZbB2u/1Mqsx3yDTEttMhS6sLZq5lqy2wblomk3utGU=; b=GyY6pldbUHfhcRrpSPiOMKyAW06Yym/hYuSfxcSZGpw2mB+t+KwkdurnIUlPawbCRo blHcIXa3zg1qq7yNuSEPRlqOYTM+ge9CpxKYBhOSj35XHrFq9+uwwmljcqdmnQMbbVJQ hWnFXl88m5X6158iFfFg+AlCUh3rfEUsBXwfouweg0Lx+RDgIbcKglF+XL/4GopHYUxt 5ok9xSwTX1aU9lYuW3dIWVyEmea6wOy+MTt94FJTijeTZnIl6B5/JBYvPnSiRESRjz65 yoz8+DFAT5KbC2sN5dVnrtZKiksxScGgPYNxhIVkNa+OTVecCC1IVAr7zTpce25SOl/7 b4Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=gZbB2u/1Mqsx3yDTEttMhS6sLZq5lqy2wblomk3utGU=; b=CsN7qobBX043Yv4K3vM44n+V79HE9eNSV1nbdp5y6wR2fzviQow2nTejBrIpBRxlWt rhMpXZZNCpnApuMW0+sgsSEBwdbKygU6PRKUMzd+mmKSsirlebl3Tnamp6VZJQISQ5UG nBS/oI7JB6OGwT6dK1e+NU/9grFsUeSGcwA1loGBTnxPG9RuF6LpN2xNFo0GvP83IH/h dB22t0O9bFQOoYZncIYhTDJ6kmSHygQdpY5oXETsBjsdPOQW3slCnGIGoGgY22w0yd2O 3MyZc6mNh/+W2OHas2tlPVU/seLlkaTfAvb6WMG90DHuI81BH8xaCluidxiaz0Keyhci I0Zg== X-Gm-Message-State: AOAM532XptNGnlY1MRwbjJSScsg9QZgJjgUAxQ/k3Dl9LWnLQChzq3sg uc/BjkIbSRKLKcUO4x16sOQx96asccWvijrsgH4KQwr7mpXpUQ== X-Google-Smtp-Source: ABdhPJwczYFVKlIbqqYDp2g4RjZbg84GqqXGm3rj9ZglqJBxT66hHqFCrKLFfBmhOqMsw4fFIxJFXjzwqtL1V4jVRDs= X-Received: by 2002:a05:6808:214:: with SMTP id l20mr5794625oie.178.1614742740643; Tue, 02 Mar 2021 19:39:00 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:201253 Archived-At: --00000000000075da3605bc99974f Content-Type: multipart/alternative; boundary="00000000000075da3405bc99974d" --00000000000075da3405bc99974d Content-Type: text/plain; charset="UTF-8" On Wed, Mar 3, 2021 at 1:20 AM Allen Li wrote: > > Some additional context: I'm not asking for find-dired to support -maxdepth necessarily, but the way find-dired is structured makes it impossible to reuse any of the code to write a command that could support -maxdepth. > > I attached a patch pulling most of the find-dired logic into a find-dired-unescaped function so that it can be readily reused. I made a mistake in my initial analysis. find (at least the version I have) allows one to pass global options such as -maxdepth like so: find . \( -maxdepth 3 ARGS \) -ls However, find will print a warning message as this usage is not recommended. Also, I realized that my previous patch, while functional, is awkward since it exists solely to allow users to specify global options (based on the discussion on #27456, I believe all other find functionality should be possible with find-dired). I have made a new patch adding an optional parameter to find-dired for passing such global options to find. Aside: there is a discussion at #32668 about adding a similar command line editing feature like rgrep I'm not fond of that as it is impossible to use programmatically and interacts poorly (read: not at all) with `repeat-complex-command' https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27456 --00000000000075da3405bc99974d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Mar 3, 2021 at 1:20 AM Allen Li <darkfeline@fel= esatra.moe> wrote:
>
> Some additional context: I'm not = asking for find-dired to support -maxdepth necessarily, but the way find-di= red is structured makes it impossible to reuse any of the code to write a c= ommand that could support -maxdepth.
>
> I attached a patch pul= ling most of the find-dired logic into a find-dired-unescaped function so t= hat it can be readily reused.

I made a mistake in my initial analysi= s. find (at least the version I have) allows one to pass global options suc= h as -maxdepth like so:

=C2=A0 =C2=A0 find . \( -maxdepth 3 ARGS \) = -ls

However, find=C2=A0will print a warning message as this usage is= not recommended.

Also, I realized that my previous patch, while fun= ctional, is awkward since it exists solely to allow users to specify global= options=C2=A0
(based on the discussion on #27456, I believe all other= =C2=A0find functionality should be possible with find-dired).
I h= ave made a new patch adding an optional parameter to find-dired for passing= such global options to find.

Aside: there is a di= scussion at=C2=A0#32668 about adding a similar command line ed= iting feature like rgrep
I'm not fond of = that as it is impossible to use programmatically and interacts poorly (read= : not at all)
--00000000000075da3405bc99974d-- --00000000000075da3605bc99974f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-find-dired-Add-global-args-to-find-dired.patch" Content-Disposition: attachment; filename="0001-find-dired-Add-global-args-to-find-dired.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_klsvtcyw0 RnJvbSAzODMxYmUzMDY3Zjk3NzM0MTM3MTM0ZTQwZTNlNDQ2N2FiZDQ5ODE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGxlbiBMaSA8ZGFya2ZlbGluZUBmZWxlc2F0cmEubW9lPgpE YXRlOiBUdWUsIDIgTWFyIDIwMjEgMTQ6MjQ6MTYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBmaW5k LWRpcmVkOiBBZGQgZ2xvYmFsLWFyZ3MgdG8gZmluZC1kaXJlZAoKVGhlIG9yaWdpbmFsIGZpbmQt ZGlyZWQgZG9lcyBub3QgYWxsb3cgZm9yIGNvbnN0cnVjdGluZyBxdWVyaWVzIGxpa2UKCiBmaW5k IC4gLW1heGRlcHRoIDMgXCggT1RIRVItQVJHUyBcKSAtbHMKCiogbGlzcC9maW5kLWRpcmVkLmVs IChmaW5kLWRpcmVkKTogQWRkZWQgb3B0aW9uYWwgcGFyYW1ldGVyLgotLS0KIGV0Yy9ORVdTICAg ICAgICAgICB8ICA0ICsrKysKIGxpc3AvZmluZC1kaXJlZC5lbCB8IDEwICsrKysrKy0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDczZjEzNmNmYTcuLjQwZjc5ZjgyMzIgMTAw NjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC02NTMsNiArNjUzLDEwIEBAIGtl eXMsIGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIgaW5pdCBmaWxlOgogKGdsb2JhbC1zZXQta2V5 ICJcQy14XEMtaiIgbmlsKQogKGdsb2JhbC1zZXQta2V5ICJcQy14NFxDLWoiIG5pbCkKIAorLS0t CisqKiogT3B0aW9uYWwgJ2dsb2JhbC1hcmdzJyBwYXJhbWV0ZXIgYWRkZWQgdG8gJ2ZpbmQtZGly ZWQnLgorVGhpcyBhbGxvd3MgcGFzc2luZyBmaW5kIGdsb2JhbCBvcHRpb25zIGxpa2UgLW1heGRl cHRoLgorCiAqKiBDaGFuZ2UgTG9ncyBhbmQgVkMKIAogKioqIE1vcmUgVkMgY29tbWFuZHMgY2Fu IGJlIHVzZWQgZnJvbSBub24tZmlsZSBidWZmZXJzLgpkaWZmIC0tZ2l0IGEvbGlzcC9maW5kLWRp cmVkLmVsIGIvbGlzcC9maW5kLWRpcmVkLmVsCmluZGV4IGFkYzU2NzJlY2EuLmZjMzVjY2NkZGQg MTAwNjQ0Ci0tLSBhL2xpc3AvZmluZC1kaXJlZC5lbAorKysgYi9saXNwL2ZpbmQtZGlyZWQuZWwK QEAgLTE1NywxNCArMTU3LDE1IEBAIGZpbmQtYXJncy1oaXN0b3J5CiAoZGVmdmFyIGRpcmVkLXNv cnQtaW5oaWJpdCkKIAogOzs7IyMjYXV0b2xvYWQKLShkZWZ1biBmaW5kLWRpcmVkIChkaXIgYXJn cykKKyhkZWZ1biBmaW5kLWRpcmVkIChkaXIgYXJncyAmb3B0aW9uYWwgZ2xvYmFsLWFyZ3MpCiAg ICJSdW4gYGZpbmQnIGFuZCBnbyBpbnRvIERpcmVkIG1vZGUgb24gYSBidWZmZXIgb2YgdGhlIG91 dHB1dC4KIFRoZSBjb21tYW5kIHJ1biAoYWZ0ZXIgY2hhbmdpbmcgaW50byBESVIpIGlzIGVzc2Vu dGlhbGx5CiAKLSAgICBmaW5kIC4gXFwoIEFSR1MgXFwpIC1scworICAgIGZpbmQgLiBHTE9CQUwt QVJHUyBcXCggQVJHUyBcXCkgLWxzCiAKIGV4Y2VwdCB0aGF0IHRoZSBjYXIgb2YgdGhlIHZhcmlh YmxlIGBmaW5kLWxzLW9wdGlvbicgc3BlY2lmaWVzIHdoYXQgdG8KLXVzZSBpbiBwbGFjZSBvZiBc Ii1sc1wiIGFzIHRoZSBmaW5hbCBhcmd1bWVudC4KK3VzZSBpbiBwbGFjZSBvZiBcIi1sc1wiIGFz IHRoZSBmaW5hbCBhcmd1bWVudC4gIEdMT0JBTC1BUkdTIGlzIGVtcHR5Cit3aGVuIGNhbGxlZCBp bnRlcmFjdGl2ZWx5LgogCiBDb2xsZWN0IG91dHB1dCBpbiB0aGUgXCIqRmluZCpcIiBidWZmZXIu ICBUbyBraWxsIHRoZSBqb2IgYmVmb3JlCiBpdCBmaW5pc2hlcywgdHlwZSBcXFtraWxsLWZpbmRd LiIKQEAgLTIwMiw2ICsyMDMsNyBAQCBmaW5kLWRpcmVkCiAgICAgKHNldHEgZGVmYXVsdC1kaXJl Y3RvcnkgZGlyCiAJICBmaW5kLWFyZ3MgYXJncwkgICAgICA7IHNhdmUgZm9yIG5leHQgaW50ZXJh Y3RpdmUgY2FsbAogCSAgYXJncyAoY29uY2F0IGZpbmQtcHJvZ3JhbSAiIC4gIgorICAgICAgICAg ICAgICAgICAgICAgICAoaWYgZ2xvYmFsLWFyZ3MgZ2xvYmFsLWFyZ3MgIiIpCiAJCSAgICAgICAo aWYgKHN0cmluZz0gYXJncyAiIikKIAkJCSAgICIiCiAJCQkgKGNvbmNhdApAQCAtMzkzLDcgKzM5 NSw3IEBAIGZpbmQtZGlyZWQtc2VudGluZWwKIAkgICAgICA7OyB3aWxsIHN0YXkgYXJvdW5kIHVu dGlsIE0teCBgbGlzdC1wcm9jZXNzZXMnLgogCSAgICAgIChkZWxldGUtcHJvY2VzcyBwcm9jKQog CSAgICAgIChmb3JjZS1tb2RlLWxpbmUtdXBkYXRlKSkpKQotCSAgKG1lc3NhZ2UgImZpbmQtZGly ZWQgJXMgZmluaXNoZWQuIiBidWYpKSkpCisgICAgICAobWVzc2FnZSAiZmluZC1kaXJlZCAlcyBm aW5pc2hlZC4iIGJ1ZikpKSkKIAogKGRlZnVuIGZpbmQtZGlyZWQtc29ydC1ieS1maWxlbmFtZSAo KQogICAiU29ydCBlbnRyaWVzIGluICpGaW5kKiBidWZmZXIgYnkgZmlsZSBuYW1lIGxleGljb2dy YXBoaWNhbGx5LiIKLS0gCjIuMzAuMQoK --00000000000075da3605bc99974f--