hush: fix multimple dependent variable expansion cases
function old new delta get_local_var_value 100 171 +71 expand_assignments 46 76 +30 reset_traps_to_defaults 229 238 +9 maybe_set_to_sigexit 47 50 +3 init_sigmasks 211 214 +3 builtin_trap 462 465 +3 expand_vars_to_list 2412 2408 -4 run_pipe 1568 1533 -35 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 6/2 up/down: 119/-39) Total: 80 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
5
shell/hush_test/hush-vars/var_serial.right
Normal file
5
shell/hush_test/hush-vars/var_serial.right
Normal file
@@ -0,0 +1,5 @@
|
||||
Assignments only: c=a
|
||||
Assignments and a command: c=a
|
||||
Assignments and a builtin: c=a
|
||||
Assignments and a function: c=a
|
||||
Done
|
||||
22
shell/hush_test/hush-vars/var_serial.tests
Executable file
22
shell/hush_test/hush-vars/var_serial.tests
Executable file
@@ -0,0 +1,22 @@
|
||||
a=a
|
||||
|
||||
b=b
|
||||
c=c
|
||||
# Second assignment depends on the first:
|
||||
b=$a c=$b
|
||||
echo Assignments only: c=$c
|
||||
|
||||
b=b
|
||||
c=c
|
||||
b=$a c=$b "$THIS_SH" -c 'echo Assignments and a command: c=$c'
|
||||
|
||||
b=b
|
||||
c=c
|
||||
b=$a c=$b eval 'echo Assignments and a builtin: c=$c'
|
||||
|
||||
b=b
|
||||
c=c
|
||||
f() { echo Assignments and a function: c=$c; }
|
||||
b=$a c=$b f
|
||||
|
||||
echo Done
|
||||
Reference in New Issue
Block a user