emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master db82347269: project-query-replace-regexp: Filter out non-regular


From: Dmitry Gutov
Subject: master db82347269: project-query-replace-regexp: Filter out non-regular files
Date: Fri, 3 Jun 2022 20:14:33 -0400 (EDT)

branch: master
commit db82347269373793107b762d8c3de6b725eaf717
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>

    project-query-replace-regexp: Filter out non-regular files
    
    * lisp/progmodes/project.el (project-query-replace-regexp):
    Filter out non-regular files (bug#55382).
---
 lisp/progmodes/project.el | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 4dc4762176..6e0874bfc3 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -1092,7 +1092,12 @@ If you exit the `query-replace', you can later continue 
the
                   (query-replace-read-args "Query replace (regexp)" t t)))
        (list from to))))
   (fileloop-initialize-replace
-   from to (project-files (project-current t)) 'default)
+   from to
+   ;; XXX: Filter out Git submodules, which are not regular files.
+   ;; `project-files' can return those, which is arguably suboptimal,
+   ;; but removing them eagerly has performance cost.
+   (cl-delete-if-not #'file-regular-p (project-files (project-current t)))
+   'default)
   (fileloop-continue))
 
 (defvar compilation-read-command)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]