hush/shell/hush_test/hush-misc
Denis Vlasenko b6e6556b31 hush: improve parse_stream: does not require parsing context struct;
cleans up on syntax errors (we used to leak memory in this case);
 much simplified interface to the rest of hush.

function                                             old     new   delta
parse_stream                                        1204    1447    +243
done_word                                            658     669     +11
static_get                                            22      28      +6
builtin_source                                        84      89      +5
parse_and_run_file                                    27      30      +3
parse_and_run_string                                  31      27      -4
builtin_eval                                          55      50      -5
hush_main                                            991     985      -6
free_pipe_list                                        39      31      -8
free_pipe                                            210     189     -21
expand_variables                                    2242    2199     -43
parse_and_run_stream                                 289     153    -136
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/7 up/down: 268/-223)           Total: 45 bytes
2009-04-03 16:49:04 +00:00
..
assignment1.right hush: fix mishandling of a'b'c=fff as assignments. They are not. 2008-08-04 00:46:07 +00:00
assignment1.tests hush: fix mishandling of a'b'c=fff as assignments. They are not. 2008-08-04 00:46:07 +00:00
assignment2.rigth hush: fix mishandling of a'b'c=fff as assignments. They are not. 2008-08-04 00:46:07 +00:00
assignment2.tests hush: fix mishandling of a'b'c=fff as assignments. They are not. 2008-08-04 00:46:07 +00:00
break1.right hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break1.tests hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break2.right hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break2.tests hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break3.right hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break3.tests hush: support "break N" and "continue N" 2008-07-28 23:07:06 +00:00
break4.right hush: fix "while false; ..." exitcode; add testsuites 2008-07-28 23:17:31 +00:00
break4.tests hush: fix "while false; ..." exitcode; add testsuites 2008-07-28 23:17:31 +00:00
break5.right hush: fix break'ing out of {} and () groups; with testcase 2008-07-29 11:37:15 +00:00
break5.tests hush: fix break'ing out of {} and () groups; with testcase 2008-07-29 11:37:15 +00:00
builtin1.right hush: add #defines to switch off break/continue if loops are not supported 2008-07-29 10:16:05 +00:00
builtin1.tests hush: add #defines to switch off break/continue if loops are not supported 2008-07-29 10:16:05 +00:00
case1.right hush: fix "case ... in <newline> word)..." 2008-07-31 10:09:26 +00:00
case1.tests hush: fix "case ... in <newline> word)..." 2008-07-31 10:09:26 +00:00
colon.right hush: add support for ':'; create testsuite entries 2008-06-14 15:50:55 +00:00
colon.tests hush: fix a bug where we were requiring semicolon here: (cmd;) 2008-06-14 17:13:20 +00:00
continue1.right hush: small fix for repeated continue and fix for wrong loop depth count 2008-07-29 13:36:09 +00:00
continue1.tests hush: small fix for repeated continue and fix for wrong loop depth count 2008-07-29 13:36:09 +00:00
empty_for2.right hush: support "for v; do ... done" syntax (implied 'in "$@"') 2008-07-05 20:29:59 +00:00
empty_for2.tests hush: support "for v; do ... done" syntax (implied 'in "$@"') 2008-07-05 20:29:59 +00:00
empty_for.right hush: fix "for a in; do echo 'I should never run'; done" bug 2008-06-17 12:09:21 +00:00
empty_for.tests hush: fix "for a in; do echo 'I should never run'; done" bug 2008-06-17 12:09:21 +00:00
for_with_keywords.right hush: support "for if in do done then; do echo $if; done" case 2008-07-06 10:01:13 +00:00
for_with_keywords.tests hush: support "for if in do done then; do echo $if; done" case 2008-07-06 10:01:13 +00:00
pid.right hush: fix $$ handling 2008-06-17 12:28:44 +00:00
pid.tests hush: fix $$ handling 2008-06-17 12:28:44 +00:00
read.right hush: fix read builtin to not read ahead past eol and to not use 2007-06-13 06:47:47 +00:00
read.tests hush: fix read builtin to not read ahead past eol and to not use 2007-06-13 06:47:47 +00:00
shift.right
shift.tests
syntax_err_negate.right hush: improve parse_stream: does not require parsing context struct; 2009-04-03 16:49:04 +00:00
syntax_err_negate.tests hush: support "! cmd | cmd" negation 2008-06-14 11:00:17 +00:00
syntax_err.right
syntax_err.tests
while1.right hush: fix "while false; ..." exitcode; add testsuites 2008-07-28 23:17:31 +00:00
while1.tests hush: fix "while false; ..." exitcode; add testsuites 2008-07-28 23:17:31 +00:00
while_in_subshell.right hush: fix a bug where we were requiring semicolon here: (cmd;) 2008-06-14 17:13:20 +00:00
while_in_subshell.tests hush: fix a bug where we were requiring semicolon here: (cmd;) 2008-06-14 17:13:20 +00:00