tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: grep -r: add default "."
On Sat, Sep 03, 2022 at 11:26:18AM +0200, Roland Illig wrote:
> Am 03.09.2022 um 11:06 schrieb Thomas Klausner:
> > On Fri, Sep 02, 2022 at 07:08:23PM +0200, Thomas Klausner wrote:
> > > I'd like the change the behaviour to match what GNU grep does.
> >
> > Since I saw only positive feedback, here's my proposed patch.
> > Comments?
>
> The patch does not contain a test.
Added. Fails before, works after.
> The brace style is BSD rather than GNU, which doesn't match the
> surrounding brace style.
Fixed.
Thomas
? tests/usr.bin/grep/Atffile
? tests/usr.bin/grep/t_grep
Index: external/gpl2/grep/dist/doc/grep.1
===================================================================
RCS file: /cvsroot/src/external/gpl2/grep/dist/doc/grep.1,v
retrieving revision 1.2
diff -u -r1.2 grep.1
--- external/gpl2/grep/dist/doc/grep.1 10 Jan 2016 22:16:40 -0000 1.2
+++ external/gpl2/grep/dist/doc/grep.1 3 Sep 2022 16:50:48 -0000
@@ -2,7 +2,7 @@
.\"
.\" grep man page
.\"d Id: grep.1,v 1.23 2002/01/22 13:20:04 bero Exp
-.TH GREP 1 "June 16 2003" "GNU Project"
+.TH GREP 1 "September 3 2022" "GNU Project"
.SH NAME
grep, egrep, fgrep \- print lines matching a pattern
.SH SYNOPSIS
@@ -312,6 +312,11 @@
this is equivalent to the
.B "\-d recurse"
option.
+If no
+.IR FILE
+is given,
+.BR grep
+searches the current working directory.
.TP
.BR "\fR \fP \-\^\-include=" PATTERN
Recurse in directories only searching file matching
Index: external/gpl2/grep/dist/src/grep.c
===================================================================
RCS file: /cvsroot/src/external/gpl2/grep/dist/src/grep.c,v
retrieving revision 1.4
diff -u -r1.4 grep.c
--- external/gpl2/grep/dist/src/grep.c 28 Dec 2021 19:22:58 -0000 1.4
+++ external/gpl2/grep/dist/src/grep.c 3 Sep 2022 16:50:48 -0000
@@ -1764,10 +1764,14 @@
}
else
{
- if (directories == RECURSE_DIRECTORIES) {
- error (0, 0, _("warning: recursive search of stdin"));
- }
- status = grepfile ((char *) NULL, &stats_base);
+ if (directories == RECURSE_DIRECTORIES)
+ {
+ status = grepfile(".", &stats_base);
+ }
+ else
+ {
+ status = grepfile ((char *) NULL, &stats_base);
+ }
}
/* We register via atexit() to test stdout. */
Index: tests/usr.bin/grep/Makefile
===================================================================
RCS file: /cvsroot/src/tests/usr.bin/grep/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- tests/usr.bin/grep/Makefile 17 Mar 2012 16:33:13 -0000 1.1
+++ tests/usr.bin/grep/Makefile 3 Sep 2022 16:51:28 -0000
@@ -30,6 +30,7 @@
FILES+= d_invert.in
FILES+= d_invert.out
FILES+= d_recurse.out
+FILES+= d_recurse_noarg.out
FILES+= d_recurse_symlink.err
FILES+= d_recurse_symlink.out
FILES+= d_whole_line.out
Index: tests/usr.bin/grep/d_recurse_noarg.out
===================================================================
RCS file: tests/usr.bin/grep/d_recurse_noarg.out
diff -N tests/usr.bin/grep/d_recurse_noarg.out
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/usr.bin/grep/d_recurse_noarg.out 3 Sep 2022 16:51:28 -0000
@@ -0,0 +1,2 @@
+./a/f/favourite-fish:haddock
+./d/fish:haddock
Index: tests/usr.bin/grep/t_grep.sh
===================================================================
RCS file: /cvsroot/src/tests/usr.bin/grep/t_grep.sh,v
retrieving revision 1.6
diff -u -r1.6 t_grep.sh
--- tests/usr.bin/grep/t_grep.sh 30 Aug 2021 23:14:14 -0000 1.6
+++ tests/usr.bin/grep/t_grep.sh 3 Sep 2022 16:51:28 -0000
@@ -31,7 +31,7 @@
atf_set "descr" "Checks basic functionality"
}
basic_body()
-{
+{
atf_check -o file:"$(atf_get_srcdir)/d_basic.out" -x \
'jot 10000 | grep 123'
}
@@ -62,6 +62,20 @@
atf_check -o file:"$(atf_get_srcdir)/d_recurse.out" -x "grep -r haddock recurse | sort"
}
+atf_test_case recurse_noarg
+recurse_noarg_head()
+{
+ atf_set "descr" "Checks recursive searching without file argument"
+}
+recurse_noarg_body()
+{
+ mkdir -p recurse/a/f recurse/d
+ echo -e "cod\ndover sole\nhaddock\nhalibut\npilchard" > recurse/d/fish
+ echo -e "cod\nhaddock\nplaice" > recurse/a/f/favourite-fish
+
+ atf_check -o file:"$(atf_get_srcdir)/d_recurse_noarg.out" -x "cd recurse && grep -r haddock | sort"
+}
+
atf_test_case recurse_symlink
recurse_symlink_head()
{
@@ -329,9 +343,10 @@
atf_init_test_cases()
{
- atf_add_test_case basic
+ atf_add_test_case basic
atf_add_test_case binary
atf_add_test_case recurse
+ atf_add_test_case recurse_noarg
atf_add_test_case recurse_symlink
atf_add_test_case word_regexps
atf_add_test_case word_locale
Index: distrib/sets/lists/tests/mi
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/tests/mi,v
retrieving revision 1.1219
diff -u -r1.1219 mi
--- distrib/sets/lists/tests/mi 12 Aug 2022 10:49:17 -0000 1.1219
+++ distrib/sets/lists/tests/mi 3 Sep 2022 16:51:32 -0000
@@ -4749,6 +4749,7 @@
./usr/tests/usr.bin/grep/d_invert.in tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/grep/d_invert.out tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/grep/d_recurse.out tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/grep/d_recurse_noarg.out tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/grep/d_recurse_symlink.err tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/grep/d_recurse_symlink.out tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/grep/d_whole_line.out tests-usr.bin-tests compattestfile,atf
Home |
Main Index |
Thread Index |
Old Index