On Mon, Dec 02, 2019 at 06:08:35PM +0100, Jeremie Courreges-Anglas wrote: > On Mon, Dec 02 2019, Marc Espie <[email protected]> wrote: > > On Mon, Dec 02, 2019 at 08:31:02AM +0000, Miod Vallat wrote: > >> grep(1), when invoked with the -R option but no path, displays a > >> "recursive search of stdin" warning and acts as if -R had not been > >> specified. > >> > >> GNU grep, in that case, will perform a recursive search in the current > >> directory, i.e. uses an implicit "." path if none is given. > >> > >> This is IMO a much better behaviour. What about the following diff? > >> > >> Index: grep.c > >> =================================================================== > >> RCS file: /OpenBSD/src/usr.bin/grep/grep.c,v > >> retrieving revision 1.62 > >> diff -u -p -r1.62 grep.c > >> --- grep.c 7 Oct 2019 20:04:00 -0000 1.62 > >> +++ grep.c 2 Dec 2019 08:27:09 -0000 > >> @@ -473,8 +473,12 @@ main(int argc, char *argv[]) > >> ++argv; > >> } > >> > >> - if (Rflag && argc == 0) > >> - warnx("warning: recursive search of stdin"); > >> + if (Rflag && argc == 0) { > >> + /* default to . if no path given */ > >> + static char *dot_argv[] = { ".", NULL }; > >> + argv = dot_argv; > >> + argc = 1; > >> + } > >> if (Eflag) > >> cflags |= REG_EXTENDED; > >> if (Fflag) > >> > >> > > I concur, I like it better as well. > > -R isn't in POSIX anyway, so we don't have to worry about standard. > > Same here, even if muscle memory helps this is just a better default IMO. > > I have had a similar diff for some time but didn't push for it because > nitpicking: GNU grep doesn't prepend "./" to file names in this case. > I have a diff to do this but let's keep the nitpicking for later. > > I'd like us to go with Miod's diff. Any objection? oks? > ok jca@ if Marc or someone else wants to commit it.
OK visa@
