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
This commit is contained in:
42
shell/hush_test/hush-misc/assignment1.tests
Executable file
42
shell/hush_test/hush-misc/assignment1.tests
Executable file
@@ -0,0 +1,42 @@
|
||||
# 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:$?
|
||||
Reference in New Issue
Block a user