Module Name: src Committed By: kre Date: Tue Jan 22 14:31:53 UTC 2019
Modified Files: src/tests/bin/sh: t_here.sh Log Message: Add sub tests to the quoting test case, to demonstrate a parsing bug (and its fix (depending upon whether the test is run against an unfixed, or fixed, shell). An obvious indication of the failure is the following (one of the new sub-tests) p=A cat <<EOF ${p+\%$p\%} ${p+%$p%} EOF which should output \%A\% %A% as a here doc is treated as a double quoted string, except that the " character is just a character. In such a string, the \ is only an escape character when the following character is special, otherwise it represents a literal \ (which is the case here). An unfixed shell will omit the backslashes in the output. It gets even more wrong if the % chars are replaced by " (double quote) chars, which should make no difference, other than the corresponding change, in the output. But doesn't (it doesn't even produce output broken in a similar way). This one is a harder case to be specific about however, as while the fixed (and expected in the test) output is what is technically correct, only a few shells actually produce it, most generate something different (but not all the same.) To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/bin/sh/t_here.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.