busybox/shell/ash_test
Denys Vlasenko a732898fdd ash: [PARSER] Removed noexpand/length check on eofmark
Upstream comment:

	Date: Sun, 11 Nov 2007 14:21:23 +0800
	[PARSER] Removed noexpand/length check on eofmark

	On Tue, Oct 30, 2007 at 04:23:35AM +0000, Oleg Verych wrote:
	>
	> } 8<<""
	> ======================

	Actually this (the empty delim) only works with dash by accident.
	I've tried bash and pdksh and they both terminate on the first
	empty line which is what you would expect rather than EOF.  The
	real Korn shell does something completely different.

	I've fixed this in dash to conform to bash/pdksh.

	> In [0] it's stated, that delimiter isn't evaluated (expanded), only
	> quoiting must be checked. That if() seems to be completely bogus.

	OK I agree.  The reason it was there is because the parser would
	have already replaced the dollar sign by an internal representation.

	I've fixed it properly with this patch.

	Test case:

	        cat <<- $a
	                OK
	        $a

	        cat <<- ""
	                OK

	        echo OK

	Old result:

	        dash: Syntax error: Illegal eof marker for << redirection
	        OK

	        echo OK

	New result:

	        OK
	        OK
	        OK

function                                             old     new   delta
parsefname                                           227     152     -75
readtoken1                                          2819    2651    -168
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-243)           Total: -243 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-29 19:57:28 +02:00
..
ash-alias
ash-arith shell/math: deconvolute and explain ?: handling. Give better error message 2010-09-16 11:50:46 +02:00
ash-glob ash: fix globbing bugs when using glibc glob() 2016-10-02 15:17:15 +02:00
ash-heredoc ash: [PARSER] Removed noexpand/length check on eofmark 2017-07-29 19:57:28 +02:00
ash-invert
ash-misc shell: some additions to *sh-misc/* tests 2017-07-24 18:51:40 +02:00
ash-parsing ash: add all hush parsing tests to ast tests 2017-07-24 02:49:56 +02:00
ash-psubst ash: add most of hush process subst tests 2017-07-24 12:49:49 +02:00
ash-quoting ash: improve set -x to quote strings as necessary 2017-07-21 13:20:14 +02:00
ash-read shell: optional support for read -t N.NNN, closes 10101 2017-07-20 16:09:31 +02:00
ash-redir shell: sync redir/* tests 2017-07-06 21:01:50 +02:00
ash-signals ash: copy three tests from hush_test/hush-signals/* 2017-07-24 19:42:46 +02:00
ash-standalone ash: fix unset in standalone mode 2010-06-18 14:23:47 +02:00
ash-vars shell: remove ${#+} tests, it is not a valid construct 2017-07-26 00:30:02 +02:00
.gitignore ash_test: ignore generated files 2016-03-22 18:15:24 -04:00
printenv.c ash_test: printenv: fix missing includes 2016-03-22 18:15:14 -04:00
recho.c whitespace cleanup 2010-10-29 11:46:52 +02:00
run-all ash: add all hush parsing tests to ast tests 2017-07-24 02:49:56 +02:00
zecho.c whitespace cleanup 2010-10-29 11:46:52 +02:00