<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/shell/ash_test/ash-vars, branch realpath</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=realpath</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=realpath'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2018-04-11T14:02:58+00:00</updated>
<entry>
<title>hush: IFS fixes</title>
<updated>2018-04-11T14:02:58+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-04-11T14:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=9678636911b39a7adf9b51d5b625cf4dc7e4ac81'/>
<id>urn:sha1:9678636911b39a7adf9b51d5b625cf4dc7e4ac81</id>
<content type='text'>
$ IFS=": "; x=" "; set x $x; for v; do echo "|$v|"; done
|x|
$ IFS=": "; x=":"; set x $x; for v; do echo "|$v|"; done
|x|
||

function                                             old     new   delta
run_pipe                                            1789    1870     +81
expand_on_ifs                                        310     361     +51
pseudo_exec_argv                                     588     591      +3
builtin_local                                         50      53      +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 138/0)             Total: 138 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: parser: Allow newlines within parameter substitution</title>
<updated>2018-04-11T10:39:18+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-04-11T10:39:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=680c3016a2dddc3edb4d79868a728e899638e2c4'/>
<id>urn:sha1:680c3016a2dddc3edb4d79868a728e899638e2c4</id>
<content type='text'>
Upstream commit:

Date: Thu, 22 Mar 2018 21:41:24 +0800
parser: Allow newlines within parameter substitution

    On Fri, Mar 16, 2018 at 11:27:22AM +0800, Herbert Xu wrote:
    &gt; On Thu, Mar 15, 2018 at 10:49:15PM +0100, Harald van Dijk wrote:
    &gt; &gt;
    &gt; &gt; Okay, it can be trivially modified to something that does work in other
    &gt; &gt; shells (even if it were actually executed), but gets rejected at parse time
    &gt; &gt; by dash:
    &gt; &gt;
    &gt; &gt;   if false; then
    &gt; &gt;     : ${$+
    &gt; &gt;   }
    &gt; &gt;   fi
    &gt;
    &gt; That's just a bug in dash's parser with ${} in general, because
    &gt; it bombs out without the if clause too:
    &gt;
    &gt; 	: ${$+
    &gt; 	}

    This patch fixes the parsing of newlines with parameter substitution.

    Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: parser: Add syntax stack for recursive parsing</title>
<updated>2018-04-02T11:15:37+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-04-02T10:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=216913c290fd2b88b744c04c0a2ef21fd1410ba9'/>
<id>urn:sha1:216913c290fd2b88b744c04c0a2ef21fd1410ba9</id>
<content type='text'>
This closes 10821.

Upstream patch:

    From: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
    Date: Fri, 9 Mar 2018 00:14:02 +0800
    parser: Add syntax stack for recursive parsing

    Without a stack of syntaxes we cannot correctly these two cases
    together:

            "${a#'$$'}"
            "${a#"${b-'$$'}"}"

    A recursive parser also helps in some other corner cases such
    as nested arithmetic expansion with paratheses.

    This patch adds a syntax stack allocated from the stack using
    alloca.  As a side-effect this allows us to remove the naked
    backslashes for patterns within double-quotes, which means that
    EXP_QPAT also has to go.

    This patch also fixes removes any backslashes that precede right
    braces when they are present within a parameter expansion context,
    and backslashes that precede double quotes within inner double
    quotes inside a parameter expansion in a here-document context.

    The idea of a recursive parser is based on a patch by Harald van
    Dijk.

    Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

var_bash3, var_bash4 and var_bash6 tests are updated
with the output given by bash-4.3.43

With this patch, the following tests now pass for ash:

    dollar_repl_slash_bash2.tests
    squote_in_varexp2.tests
    squote_in_varexp.tests
    var_bash4.tests

function                                             old     new   delta
readtoken1                                          2615    2874    +259
synstack_push                                          -      54     +54
evalvar                                              574     571      -3
rmescapes                                            330     310     -20
subevalvar                                          1279    1258     -21
argstr                                              1146    1107     -39
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/4 up/down: 313/-83)           Total: 230 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shells: fix var_LINENO1.tests false positive, add it to ash tests too</title>
<updated>2018-03-31T18:31:13+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-03-31T18:31:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=32e183e63ecb46595a480ab66120795ed9c9e0df'/>
<id>urn:sha1:32e183e63ecb46595a480ab66120795ed9c9e0df</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash testsuite: add two hush tests from last commit</title>
<updated>2018-01-25T13:09:06+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-01-25T13:09:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=043be556916ab0fbbece9d406cef199d397f8455'/>
<id>urn:sha1:043be556916ab0fbbece9d406cef199d397f8455</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: echo ${?:0} was fixed sometime ago, enable it in tests</title>
<updated>2018-01-13T18:28:19+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-01-13T18:28:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=aea52e7b2d8a44e1c84575f5a83b36126a07ef6b'/>
<id>urn:sha1:aea52e7b2d8a44e1c84575f5a83b36126a07ef6b</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: update testsuite (we now error out on ${#=})</title>
<updated>2017-08-14T13:01:32+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-08-14T13:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c2aea025bba33323b7a35dd33428277f21121251'/>
<id>urn:sha1:c2aea025bba33323b7a35dd33428277f21121251</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: remove ${#+} tests, it is not a valid construct</title>
<updated>2017-07-25T22:30:02+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-07-25T22:30:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b0648b0e7874e8551df64708532346a049ab7f2c'/>
<id>urn:sha1:b0648b0e7874e8551df64708532346a049ab7f2c</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>hush: fix ${##}, ${#?}, ${#!} handling</title>
<updated>2017-07-25T22:07:27+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-07-25T22:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=2093ad296f8a4528ad0e106b52074871a2bf070e'/>
<id>urn:sha1:2093ad296f8a4528ad0e106b52074871a2bf070e</id>
<content type='text'>
function                                             old     new   delta
parse_dollar                                         786     820     +34
expand_one_var                                      1579    1592     +13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 47/0)               Total: 47 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: [VAR] Move unsetvar functionality into setvareq</title>
<updated>2017-07-25T14:29:36+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2017-07-25T14:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8'/>
<id>urn:sha1:b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8</id>
<content type='text'>
Upstream commit:

    Date: Tue, 25 May 2010 20:55:05 +0800
    [VAR] Move unsetvar functionality into setvareq

    This patch moves the unsetvar code into setvareq so that we can
    no have a pathological case of an unset variable hanging around
    unless it has a bit pinning it like VEXPORT.

    Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

function                                             old     new   delta
setvareq                                             227     303     +76
expmeta                                              517     521      +4
localcmd                                             364     366      +2
unsetcmd                                              96      76     -20
unsetvar                                             129       7    -122
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 82/-142)           Total: -60 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
