Sadly this does not seem to work with tcsh, which was the default shell until recently (now they default to zsh).
Which version? Seems to work with mine (tcsh-6.09).
Ahh, ok, you are quite right, tcsh does support it, the problem is it seems to parse the input, and so when it sees this line in the patch:
error ("right operand of `%s' must be an object type", opname);
it complains about the unmatched quote (`) with:
tcsh: Unmatched `.
and aborts the input.
It appears you can avoid this by using:
patch -p0 --ignore-whitespace << "EOF" ... "EOF"
Thanks for the tip! Peter.