hush/shell/hush_test/hush-misc/assignment1.tests
Denis Vlasenko 2b576b8e76 hush: fix mishandling of a'b'c=fff as assignments. They are not.
function                                             old     new   delta
parse_stream                                        1920    2004     +84
done_word                                            715     752     +37
parse_and_run_stream                                 328     333      +5
builtin_exec                                          25      29      +4
pseudo_exec_argv                                     138     139      +1
run_list                                            2006    1999      -7
is_assignment                                        215     134     -81
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/2 up/down: 131/-88)            Total: 43 bytes
2008-08-04 00:46:07 +00:00

43 lines
667 B
Plaintext
Executable File

# Assignments after some keywords should still work
if a=1 true; then a=1 true; elif a=1 true; then a=1 true; else a=1 true; fi
echo if1:$?
while a=1 true; do a=1 true; break; done
echo while1:$?
until a=1 false; do a=1 true; break; done
echo until1:$?
if a=1 true
then a=1 true
elif a=1 true
then a=1 true
else a=1 true
fi
echo if2:$?
while a=1 true
do a=1 true
break
done
echo while2:$?
until a=1 false
do a=1 true
break
done
echo until2:$?
if
a=1 true; then
a=1 true; elif
a=1 true; then
a=1 true; else
a=1 true; fi
echo if3:$?
while
a=1 true; do
a=1 true; break; done
echo while3:$?
until
a=1 false; do
a=1 true; break; done
echo until3:$?