Subject: bug#51711: 28.0.60; rgrep fails to pass the search directory to rgrep-default-command

From: Phil Sainty <[email-masked]>
Date: Tue, 09 Nov 2021 23:02:43 +1300

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.

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.

CCing Dmitry.  Can you recall specifically why that line was changed?

-Phil

In GNU Emacs 28.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo 
version 1.15.10, Xaw scroll bars)
  of 2021-10-07 built on phil-lp
Repository revision: f7e6c199bf5b915e000bad964f3be2323d07647e
Repository branch: emacs-28
Windowing system distributor 'The X.Org Foundation', version 
11.0.12008000
System Description: Ubuntu 18.04.6 LTS