From db82347269373793107b762d8c3de6b725eaf717 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Sat, 4 Jun 2022 03:13:42 +0300 Subject: [PATCH] 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 4dc4762176a..6e0874bfc32 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) -- 2.39.2