When grep gets a single file argument, it does
not show the file name. This makes seeing the
file name in the output of 'g' difficult.
Pass a spare /dev/null to each invocation of g,
in order to force it to show the file name.
When searching directories recursively, it's still
desirable to filter the contents by the file pattern,
so that 'g foo /sys/src' doesn't end up searching for
foo within .$O files.
Files passed explicitly are still searched, so for the
old behavior, just use walk:
g foo `{walk -f $dir}
This allows us to 'g' the files
within a directory, as in:
g _MAX /sys/include/ape
Before this change, we'd attempt to
grep the directory structure, which
is not ideal. After, we grep the
files within the directory.