String expansions: fix ${extract }, for the numeric/3-string case. Bug 1807
authorJeremy Harris <jgh146exb@wizmail.org>
Wed, 9 Mar 2016 17:40:48 +0000 (17:40 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Wed, 9 Mar 2016 18:45:31 +0000 (18:45 +0000)
commit93cc2d6e053031a7008f73ca1ea072038bfa3fc8
tree76d079a8d6bd231559ddd84131e663e975946d5b
parentfae3a611be53dbf58cbb7c2c4846081ecb87606e
String expansions: fix ${extract }, for the numeric/3-string case.  Bug 1807

Broken-by: 82dbd37
In "skipping" mode when parsing an expansion we want to avoid expanding
the arguments, as the data for expansion is not necessarily valid.  This
bit us previously for an extract within an "if inlist". But the number of
args for ${extract } depends on the expanded value of the first arg.

Retreat from strict parsing and just line up the outer braces,
accepting any number of args while skipping.  The separate
non-skipping execution will do the proper checking.
doc/doc-txt/ChangeLog
src/src/expand.c
test/scripts/0000-Basic/0002
test/stdout/0002