Date: Thu, 28 Oct 2010 22:34:49 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/bin/sh parser.c src/tools/regression/bin/sh/expansion plus-minus5.0 Message-ID: <201010282236.o9SMaAuD031968@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jilles 2010-10-28 22:34:49 UTC
FreeBSD src repository
Modified files:
bin/sh parser.c
Added files:
tools/regression/bin/sh/expansion plus-minus5.0
Log:
SVN rev 214492 on 2010-10-28 22:34:49Z by jilles
sh: Only accept a '}' inside ${v+-=?...} if double-quote state matches.
If double-quote state does not match, treat the '}' literally.
This ensures double-quote state remains the same before and after a
${v+-=?...} which helps with expand.c.
It makes things like
${foo+"\${bar}"}
which I have seen in the wild work as expected.
Exp-run done by: pav (with some other sh(1) changes)
Revision Changes Path
1.94 +4 -4 src/bin/sh/parser.c
1.1 +31 -0 src/tools/regression/bin/sh/expansion/plus-minus5.0 (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010282236.o9SMaAuD031968>
