hush/shell/hush_test/hush-parsing/starquoted2.tests
Denys Vlasenko 6e42b89b8d hush: fix remaining known two bugs with IFS expansion. Closes 4027.
function                                             old     new   delta
expand_vars_to_list                                 1054    1140     +86
parse_stream                                        2425    2479     +54
expand_on_ifs                                        258     310     +52
builtin_umask                                        133     132      -1
done_word                                            820     779     -41
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 192/-42)           Total: 150 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-01 18:16:43 +02:00

20 lines
740 B
Plaintext
Executable File

if test $# != 0; then
exec "$THIS_SH" "$0"
fi
# No params!
for a in "$*"; do echo Should be printed; done
for a in "$@"; do echo Should not be printed; done
# Yes, believe it or not, bash is mesmerized by "$@" and stops
# treating "" as "this word cannot be expanded to nothing,
# but must be at least null string". Now it can be expanded to nothing.
for a in "$@"""; do echo Would not be printed by bash; done
for a in """$@"; do echo Would not be printed by bash; done
for a in """$@"''"$@"''; do echo Would not be printed by bash; done
for a in ""; do echo Should be printed; done
# Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice:
printf 'Empty:%s\n' "$@"
printf "Empty:%s\n" "$@"
printf "Empty:%s\\n" "$@"