busybox/shell/ash_test/ash-heredoc
Denys Vlasenko c2058ec98c ash: Expand here-documents in the current shell environment
Upstream commit:

    Date: Sun, 11 Nov 2007 15:27:00 +0800
    Expand here-documents in the current shell environment

    Previously we always expanded here-documents in a subshell.  This is
    contrary to the POSIX specification and how other shells behave.  What's
    more this slows down many expansions due to the extra fork (however, it
    must be said that it is possible for it speed up certain expansions by
    running it simultaneously with the command on two CPUs).

    This patch move the expansion into the current shell environment.

    Test case:

            unset a
            cat <<- EOF > /dev/null
                    ${a=NOT}
            EOF
            echo ${a}BAD

    Old result:

            BAD

    New result:

            NOTBAD

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-02-22 20:29:36 +01:00
..
heredoc1.right shell: syncronize ash and hush heredoc1.tests 2017-07-06 18:16:18 +02:00
heredoc1.tests shell: syncronize ash and hush heredoc1.tests 2017-07-06 18:16:18 +02:00
heredoc2.right ash: add test for issue with here document 2015-10-29 19:12:03 +01:00
heredoc2.tests ash: add test for issue with here document 2015-10-29 19:12:03 +01:00
heredoc3.right shell: syncronize ash and hush heredoc3.tests 2017-07-06 18:19:35 +02:00
heredoc3.tests shell: syncronize ash and hush heredoc3.tests 2017-07-06 18:19:35 +02:00
heredoc4.right ash: bash-compatible $'...' shouldn't expand in double quotes 2016-04-15 22:16:46 +02:00
heredoc4.tests ash: bash-compatible $'...' shouldn't expand in double quotes 2016-04-15 22:16:46 +02:00
heredoc5.right sh testsuite: create hush-heredoc/* and move files around 2016-10-02 17:49:46 +02:00
heredoc5.tests sh testsuite: create hush-heredoc/* and move files around 2016-10-02 17:49:46 +02:00
heredoc6.right ash: [PARSER] Recognise here-doc delimiters terminated by EOF 2016-10-26 16:26:45 +02:00
heredoc6.tests ash: [PARSER] Recognise here-doc delimiters terminated by EOF 2016-10-26 16:26:45 +02:00
heredoc7.right ash: [PARSER] Recognise here-doc delimiters terminated by EOF 2016-10-26 16:26:45 +02:00
heredoc7.tests ash: [PARSER] Recognise here-doc delimiters terminated by EOF 2016-10-26 16:26:45 +02:00
heredoc8.right shell: syncronize ash and hush heredoc1.tests 2017-07-06 18:16:18 +02:00
heredoc8.tests shell: syncronize ash and hush heredoc1.tests 2017-07-06 18:16:18 +02:00
heredoc9.right shell: syncronize ash and hush heredoc3.tests 2017-07-06 18:19:35 +02:00
heredoc9.tests shell: syncronize ash and hush heredoc3.tests 2017-07-06 18:19:35 +02:00
heredoc_after_compound1.right hush: fix handling of heredocs not enclosed in groups where they are "declared" 2018-07-24 13:03:03 +02:00
heredoc_after_compound1.tests hush: fix handling of heredocs not enclosed in groups where they are "declared" 2018-07-24 13:03:03 +02:00
heredoc_backquote1.right parser: Fix backquote support in here-document EOF mark 2018-04-01 16:38:32 +02:00
heredoc_backquote1.tests parser: Fix backquote support in here-document EOF mark 2018-04-01 16:38:32 +02:00
heredoc_backslash1.right ash: use pgetc_eatbnl() in more places 2018-03-31 19:40:56 +02:00
heredoc_backslash1.tests ash: use pgetc_eatbnl() in more places 2018-03-31 19:40:56 +02:00
heredoc_bkslash_newline1.right ash: use pgetc_eatbnl() in more places 2018-03-31 19:40:56 +02:00
heredoc_bkslash_newline1.tests ash: use pgetc_eatbnl() in more places 2018-03-31 19:40:56 +02:00
heredoc_bkslash_newline2.right hush: handle backslash-newline in heredoc terminators 2018-07-24 14:03:18 +02:00
heredoc_bkslash_newline2.tests hush: handle backslash-newline in heredoc terminators 2018-07-24 14:03:18 +02:00
heredoc_empty2.right hush: fix handling of empty heredoc EOF marker 2017-07-29 20:43:26 +02:00
heredoc_empty2.tests hush: fix handling of empty heredoc EOF marker 2017-07-29 20:43:26 +02:00
heredoc_empty3.right hush: fix handling of heredocs starting with empty lines 2018-07-23 15:43:57 +02:00
heredoc_empty3.tests hush: fix handling of heredocs starting with empty lines 2018-07-23 15:43:57 +02:00
heredoc_empty.right ash: [PARSER] Removed noexpand/length check on eofmark 2017-07-29 19:57:28 +02:00
heredoc_empty.tests ash: [PARSER] Removed noexpand/length check on eofmark 2017-07-29 19:57:28 +02:00
heredoc_huge.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
heredoc_huge.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
heredoc_side_effects.right ash: Expand here-documents in the current shell environment 2020-02-22 20:29:36 +01:00
heredoc_side_effects.tests ash: Expand here-documents in the current shell environment 2020-02-22 20:29:36 +01:00
heredoc_var_expand1.right ash: parser: Fix single-quoted patterns in here-documents 2018-04-02 13:29:20 +02:00
heredoc_var_expand1.tests ash: parser: Fix single-quoted patterns in here-documents 2018-04-02 13:29:20 +02:00
heredoc.right hush: add "heredoc.tests" from ash, tweak ash "is a function" message 2018-07-24 17:10:18 +02:00
heredoc.tests fix accumulated whitespace and indentation damage 2007-03-20 11:30:28 +00:00
heredocA.right hush: fix heredoc handling in the "cmd <<EOF ;<newline>" case 2018-07-23 16:31:21 +02:00
heredocA.tests hush: fix heredoc handling in the "cmd <<EOF ;<newline>" case 2018-07-23 16:31:21 +02:00
heredocB.right hush: fix nested redirects colliding with script fds 2018-07-24 16:54:41 +02:00
heredocB.tests hush: fix nested redirects colliding with script fds 2018-07-24 16:54:41 +02:00