From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#66806: 30.0.50; [PATCH] 'project-find-regexp' passes Git submodules to the search program Date: Sun, 29 Oct 2023 10:54:28 -0700 Message-ID: <80277522-c366-2014-8b52-250634090f2e@gmail.com> References: <83wmv6arnv.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------aUB1Hkq6u5pQSLx0rIrCXxXu" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4011"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, 66806@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Oct 29 18:55:55 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qxA0w-0000oZ-Pw for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Oct 2023 18:55:54 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qxA0Z-000279-JC; Sun, 29 Oct 2023 13:55:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qxA0Y-00026i-09 for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 13:55:30 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qxA0X-0008Ih-Lk for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 13:55:29 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qxA14-0001Zj-2g for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 13:56:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 29 Oct 2023 17:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66806 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66806-submit@debbugs.gnu.org id=B66806.16986021095989 (code B ref 66806); Sun, 29 Oct 2023 17:56:02 +0000 Original-Received: (at 66806) by debbugs.gnu.org; 29 Oct 2023 17:55:09 +0000 Original-Received: from localhost ([127.0.0.1]:43301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxA0C-0001YW-NY for submit@debbugs.gnu.org; Sun, 29 Oct 2023 13:55:09 -0400 Original-Received: from mail-oa1-x2d.google.com ([2001:4860:4864:20::2d]:51354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxA0A-0001Xz-1i for 66806@debbugs.gnu.org; Sun, 29 Oct 2023 13:55:07 -0400 Original-Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-1efad296d42so837376fac.2 for <66806@debbugs.gnu.org>; Sun, 29 Oct 2023 10:54:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698602067; x=1699206867; darn=debbugs.gnu.org; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=YFq28jztC5rTDIyyNAajlfu8N2FgCD271FCmGIVsigA=; b=kmMn4DxtIGwLK/0jRYfIqdMJXbRZTW0wNF+++fLyGy5F/6aESA8BJOhddXCfMgPQjB Gag2tnl++h7IWSKrlKJDyvsBY3ozOFfZ+cearvHm+qtyYnFfunZKkGCyebmRRbclr5en VqwjVi7YnkfZSB2A96F9aLrxxFOFaaE05ig1+uzMLO4brkiEVhVU4CVLm8hSyjpEnrPe acgnlPBByCJ5FP8XYK+AUbHH3iPfflWrAf3VGChvgxXjLCyZJz76Hs3lm+vz1GOw6Omd Mzor8q09lDNYk4uoOmlfFZdfw9dlJuzu3W6IoAwoBpi85+Hth+yUcfQbI1EKqfru4p5a QujA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698602067; x=1699206867; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=YFq28jztC5rTDIyyNAajlfu8N2FgCD271FCmGIVsigA=; b=mSO6SpTuqdHWo6J6iV+j8b3YvicwtStN6gRLGXvJc/p23eXPxGTwIOCn/9ifOUAHXV 9Br2Vb/MOZN6oZmEfgpETZENGatd7d4yLwsACa41wzA1fzyDV3hYFXHKrBz+VxeK3qzU Zt2VSHjyJ1Etzaenn3co3dApbRqeHoli7CL1kSEl4UX0OK4xnAWlynzulFAGZbKAyYDG E85OxxnokrQxDIVI7FqurLgPa8SOow6JoHffVCZCTUovzLCVXYjoy04PLz/2hBguKddz 1ftfKinDeNzrKwzZqxTx+CpRtMoPh2DV4QUOLG7t+osKoRWUkC6pw7PehGoUp/cWONEu m1Yw== X-Gm-Message-State: AOJu0Yz4wiP1+cNVEyGKcLahozTgQiAmkSiewI+b0pFevPugfqX3WhQj blG5OR7CO+lwnX3OmodPSW4yHFAcUlQ= X-Google-Smtp-Source: AGHT+IEiQ/lCZptTBPIvY9xv+tvmjlGLXfm5H7K00no9NhgoZ4IL1I4w6Y+Xh9VMbKYdH7ANH9iO4Q== X-Received: by 2002:a05:6871:8f83:b0:1ef:bebf:80e6 with SMTP id aa3-20020a0568718f8300b001efbebf80e6mr2950174oac.34.1698602067307; Sun, 29 Oct 2023 10:54:27 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id f22-20020a633816000000b005af7ee01ab4sm3582459pga.6.2023.10.29.10.54.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 29 Oct 2023 10:54:26 -0700 (PDT) Content-Language: en-US In-Reply-To: <83wmv6arnv.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273520 Archived-At: This is a multi-part message in MIME format. --------------aUB1Hkq6u5pQSLx0rIrCXxXu Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/28/2023 11:06 PM, Eli Zaretskii wrote: >> Cc: dmitry@gutov.dev >> Date: Sat, 28 Oct 2023 22:36:07 -0700 >> From: Jim Porter >> >> --- a/lisp/progmodes/project.el >> +++ b/lisp/progmodes/project.el >> @@ -960,7 +960,8 @@ project-find-regexp >> (default-directory (project-root pr)) >> (files >> (if (not current-prefix-arg) >> - (project-files pr) >> + ;; XXX: See the comment in project-query-replace-regexp. >> + (cl-delete-if-not #'file-regular-p (project-files pr)) > ^^^^^^^^^^^^^^^^ > I think we want to prefer using seq.el functions, since seq.el is > nowadays preloaded. Is there a good reason to use cl-delete-if-not > here? Well, that's just copy-pasted from some other functions in project.el. If we want to go the minimal route, I could update all those workarounds. Or we could go the maximal route and fix it at its source. Here's an updated patch for the maximal route that uses 'seq-difference'. Assuming we're ok with the performance characteristics of the maximal patch, I think the maximal route is best: it fixes the issue at its source. For performance, it should be faster by default, but a bit slower when 'project-vc-merge-submodules' is nil (since we need an extra call to "git" to get the list of submodules). However, that slowness is compensated for by eliminating the need to call 'file-regular-p' on all the results for some functions that really do need 'project-files' to return only files. (If we're really concerned about *exact* perf numbers, I can try to collect some. Just let me know.) --------------aUB1Hkq6u5pQSLx0rIrCXxXu Content-Type: text/plain; charset=UTF-8; name="maximal_0001-Exclude-Git-submodules-from-project-files.patch" Content-Disposition: attachment; filename*0="maximal_0001-Exclude-Git-submodules-from-project-files.patch" Content-Transfer-Encoding: base64 RnJvbSAyYTE3ZDVhY2ZjZjBiNzQ4YWFhZDlkMDFmZjM0MWVkNmRhMzE1YTQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjggT2N0IDIwMjMgMjI6MjA6NDEgLTA3MDAKU3ViamVjdDogW1BB VENIXSBFeGNsdWRlIEdpdCBzdWJtb2R1bGVzIGZyb20gJ3Byb2plY3QtZmlsZXMnCgoqIGxp c3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgKHByb2plY3QtLXZjLWxpc3QtZmlsZXMpOiBFeGNs dWRlIEdpdApzdWJtb2R1bGVzLgoocHJvamVjdC1zZWFyY2gsIHByb2plY3QtcXVlcnktcmVw bGFjZS1yZWdleHApOiBSZW1vdmUgbm93LXVubmVlZGVkCndvcmthcm91bmQuCi0tLQogbGlz cC9wcm9nbW9kZXMvcHJvamVjdC5lbCB8IDIwICsrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saXNwL3Byb2dtb2Rlcy9wcm9qZWN0LmVsIGIvbGlzcC9wcm9nbW9kZXMvcHJvamVj dC5lbAppbmRleCBmZGExMDgxZWI2Mi4uYTNmYTFiMzIwYTggMTAwNjQ0Ci0tLSBhL2xpc3Av cHJvZ21vZGVzL3Byb2plY3QuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbApA QCAtNjQ3LDYgKzY0Nyw3IEBAIHByb2plY3QtLXZjLWxpc3QtZmlsZXMKICAgICAgICAgICAg IChpbmNsdWRlLXVudHJhY2tlZCAocHJvamVjdC0tdmFsdWUtaW4tZGlyCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdwcm9qZWN0LXZjLWluY2x1ZGUtdW50cmFja2VkCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcikpCisgICAgICAgICAgICAoc3Vi bW9kdWxlcyAocHJvamVjdC0tZ2l0LXN1Ym1vZHVsZXMpKQogICAgICAgICAgICAgZmlsZXMp CiAgICAgICAgKHNldHEgYXJncyAoYXBwZW5kIGFyZ3MKICAgICAgICAgICAgICAgICAgICAg ICAgICAgJygiLWMiICItLWV4Y2x1ZGUtc3RhbmRhcmQiKQpAQCAtNjgwLDEzICs2ODEsMTQg QEAgcHJvamVjdC0tdmMtbGlzdC1maWxlcwogICAgICAgIChzZXRxIGZpbGVzCiAgICAgICAg ICAgICAgKG1hcGNhcgogICAgICAgICAgICAgICAobGFtYmRhIChmaWxlKSAoY29uY2F0IGRl ZmF1bHQtZGlyZWN0b3J5IGZpbGUpKQotICAgICAgICAgICAgICAoc3BsaXQtc3RyaW5nCi0g ICAgICAgICAgICAgICAoYXBwbHkgIyd2Yy1naXQtLXJ1bi1jb21tYW5kLXN0cmluZyBuaWwg ImxzLWZpbGVzIiBhcmdzKQotICAgICAgICAgICAgICAgIlwwIiB0KSkpCisgICAgICAgICAg ICAgIChzZXEtZGlmZmVyZW5jZQorICAgICAgICAgICAgICAgKHNwbGl0LXN0cmluZworICAg ICAgICAgICAgICAgIChhcHBseSAjJ3ZjLWdpdC0tcnVuLWNvbW1hbmQtc3RyaW5nIG5pbCAi bHMtZmlsZXMiIGFyZ3MpCisgICAgICAgICAgICAgICAgIlwwIiB0KQorICAgICAgICAgICAg ICAgc3VibW9kdWxlcykpKQogICAgICAgICh3aGVuIChwcm9qZWN0LS12Yy1tZXJnZS1zdWJt b2R1bGVzLXAgZGVmYXVsdC1kaXJlY3RvcnkpCiAgICAgICAgICA7OyBVbmZvcnR1bmF0ZWx5 LCAnbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMnIGNvbmZsaWN0cyB3aXRoICctbycu Ci0gICAgICAgICAobGV0KiAoKHN1Ym1vZHVsZXMgKHByb2plY3QtLWdpdC1zdWJtb2R1bGVz KSkKLSAgICAgICAgICAgICAgICAoc3ViLWZpbGVzCisgICAgICAgICAobGV0ICgoc3ViLWZp bGVzCiAgICAgICAgICAgICAgICAgIChtYXBjYXIKICAgICAgICAgICAgICAgICAgIChsYW1i ZGEgKG1vZHVsZSkKICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGZpbGUtZGlyZWN0b3J5 LXAgbW9kdWxlKQpAQCAtMTMyNiw4ICsxMzI4LDcgQEAgcHJvamVjdC1zZWFyY2gKICAgKGlu dGVyYWN0aXZlICJzU2VhcmNoIChyZWdleHApOiAiKQogICAoZmlsZWxvb3AtaW5pdGlhbGl6 ZS1zZWFyY2gKICAgIHJlZ2V4cAotICAgOzsgWFhYOiBTZWUgdGhlIGNvbW1lbnQgaW4gcHJv amVjdC1xdWVyeS1yZXBsYWNlLXJlZ2V4cC4KLSAgIChjbC1kZWxldGUtaWYtbm90ICMnZmls ZS1yZWd1bGFyLXAgKHByb2plY3QtZmlsZXMgKHByb2plY3QtY3VycmVudCB0KSkpCisgICAo cHJvamVjdC1maWxlcyAocHJvamVjdC1jdXJyZW50IHQpKQogICAgJ2RlZmF1bHQpCiAgIChm aWxlbG9vcC1jb250aW51ZSkpCiAKQEAgLTEzNDgsMTAgKzEzNDksNyBAQCBwcm9qZWN0LXF1 ZXJ5LXJlcGxhY2UtcmVnZXhwCiAgICAgICAgKGxpc3QgZnJvbSB0bykpKSkKICAgKGZpbGVs b29wLWluaXRpYWxpemUtcmVwbGFjZQogICAgZnJvbSB0bwotICAgOzsgWFhYOiBGaWx0ZXIg b3V0IEdpdCBzdWJtb2R1bGVzLCB3aGljaCBhcmUgbm90IHJlZ3VsYXIgZmlsZXMuCi0gICA7 OyBgcHJvamVjdC1maWxlcycgY2FuIHJldHVybiB0aG9zZSwgd2hpY2ggaXMgYXJndWFibHkg c3Vib3B0aW1hbCwKLSAgIDs7IGJ1dCByZW1vdmluZyB0aGVtIGVhZ2VybHkgaGFzIHBlcmZv cm1hbmNlIGNvc3QuCi0gICAoY2wtZGVsZXRlLWlmLW5vdCAjJ2ZpbGUtcmVndWxhci1wIChw cm9qZWN0LWZpbGVzIChwcm9qZWN0LWN1cnJlbnQgdCkpKQorICAgKHByb2plY3QtZmlsZXMg KHByb2plY3QtY3VycmVudCB0KSkKICAgICdkZWZhdWx0KQogICAoZmlsZWxvb3AtY29udGlu dWUpKQogCi0tIAoyLjI1LjEKCg== --------------aUB1Hkq6u5pQSLx0rIrCXxXu--