summary refs log tree commit diff
path: root/src/funcs/pushd
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2020-04-29 00:19:59 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2020-05-15 16:24:38 +1000
commit07951cfffb218291e7574b874660eab652cb54f1 (patch)
treeba85a61937b42600400e9fb7a78e0181ce627fb9 /src/funcs/pushd
parentparser: Catch errors in expandstr (diff)
downloaddash-07951cfffb218291e7574b874660eab652cb54f1.tar.gz
dash-07951cfffb218291e7574b874660eab652cb54f1.zip
parser: Fix alias expansion after heredoc or newlines
This script should print OK:

	alias a="case x in " b=x
	a
	b) echo BAD;; esac

	alias BEGIN={ END=}
	BEGIN
		cat <<- EOF > /dev/null
			$(:)
		EOF
	END

	: <<- EOF &&
		$(:)
	EOF
	BEGIN
		echo OK
	END

However, because the value of checkkwd is either zeroed when it
shouldn't, or isn't zeroed when it should, dash currently gets
it wrong in every case.

This patch fixes it by saving checkkwd and zeroing it where needed.

Suggested-by: Harald van Dijk <harald@gigawatt.nl>
Reported-by: Harald van Dijk <harald@gigawatt.nl>
Reported-by: Martijn Dekker <martijn@inlv.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/funcs/pushd')
0 files changed, 0 insertions, 0 deletions
4bdc2c802f024ed9a9cf8c37dca8e5374b1ca0&follow=1'>Use whence instead of typeJune McEnroe 2018-08-18Cut off path components until right prompt fitsJune McEnroe 2018-08-17Add "private" alias to source encrypted fileJune McEnroe 2018-08-17Add vim mapping to add a #includeJune McEnroe