GNU bug report logs -
#51711
28.0.60; rgrep fails to pass the search directory to rgrep-default-command
Previous Next
Full log
Message #8 received at 51711 <at> debbugs.gnu.org (full text, mbox):
Hi!
On 09.11.2021 13:02, Phil Sainty wrote:
> This was intentionally changed in commit c6ee95ddeef:
>
> https://git.savannah.gnu.org/cgit/emacs.git/commit?id=c6ee95ddeefc17410e15090539d0cb220ab6947c
>
>
> (setq dir (file-name-as-directory (expand-file-name dir)))
> - (let ((command (rgrep-default-command regexp files dir)))
> + (let ((command (rgrep-default-command regexp files nil)))
>
> It's not clear to me why this was done, but rgrep-default-command
> cannot produce the correct output if it isn't given the search
> directory. In particular, rgrep-find-ignored-directories and
> rgrep-find-ignored-files no longer work as expected, if the
> directory is not passed, for grep-find-ignored-directories and
> grep-find-ignored-files values using the cons cell format, as
> the functions specified need to know the search directory.
The effect on the *-ignores function is something we all have missed, alas.
This only matters when grep-find-ignored-directories or
grep-find-ignored-files have been customized to cons values with
functions, right?
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20719#22 may be the
> justification ("it makes the last argument to rgrep-default-command
> look superfluous."), but that's definitely not true.
>
> I don't have my head around the other changes made for bug#20719
> and so it's not clear to me whether fixing this is as simple as
> reverting that one line, or if doing so will cause some other
> regression.
It would replace "." in the resulting command with the absolute name of
the directory, which would affect the output, for one thing.
> CCing Dmitry. Can you recall specifically why that line was changed?
Does the below patch work for you? I suppose the answer depends on
whether the functions in the customized car values will known what to do
with ".".
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index ec2850737c..8cc3e57378 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -1218,7 +1218,7 @@ rgrep
grep-find-command)))
(compilation-start regexp 'grep-mode))
(setq dir (file-name-as-directory (expand-file-name dir)))
- (let ((command (rgrep-default-command regexp files nil)))
+ (let ((command (rgrep-default-command regexp files ".")))
(when command
(if confirm
(setq command
This bug report was last modified 3 years and 216 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.