> define _sc_maybe_matching_files
> dummy=; : so we do not need a semicolon before each use; \
> test "x$$re" != x || { echo '$(ME): re not defined' 1>&2; exit 1; }; \
> if test -n "$$matching"; then matching='yes'; fi \
> files=$$($(VC_LIST_EXCEPT) | grep -E "$$fre"); \
> if test -n "$$files"; then \
> if test "$$matching" = "yes"; then \
> grep -nE "$$re" $$files && \
> {echo "$(ME): $$msg" 1>&2; exit 1; } || : \
> else \
> grep -LE "$$re" $$files | grep . && \
> {echo "$(ME): $$msg" 1>&2; exit1: } || : \
There is a missing "fi" here, and various trailing semicolons.
Please factor out the duplicated echo line so it appears just once.
Also, of course, s/exit1:/exit 1;/ if you use the latter "copy".
Yes, sorry. I wrote that chunk in a pseudo-code mud :)
I will adapt the patch to use that solution then.