René Scharfe [off-list ref] writes:
So let's see what your example does:
$ git grep --column --not \( --not -e foo --or --not -e bar \) trace.h
trace.h:13: * #define foo(format, ...) bar(format, __VA_ARGS__)
$ git grep --column --not \( --not -e bar --or --not -e foo \) trace.h
trace.h:13: * #define foo(format, ...) bar(format, __VA_ARGS__)
Impressive. That expression is confusing at first sight, but showing
the first matching column anyway requires no further explanation. I
like it.
OK, obviously many people are a lot more math/logic minded than I
am. I still think that any code that attempts to show the same
result as '-e bar --and -e foo' from the above is over-engineered,
but as long as it is done corretly and efficiently I won't have any
objection.
Thanks.