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
heredoc1.tests
heredoc2.right
heredoc2.tests
heredoc3.right
heredoc3.tests
heredoc4.right
heredoc4.tests
heredoc5.right
heredoc5.tests
heredoc6.right
heredoc6.tests
heredoc7.right
heredoc7.tests
heredoc8.right
heredoc8.tests
heredoc9.right
heredoc9.tests
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
heredoc_huge.tests
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
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