hush: deal with some easier TODOs

function                                             old     new   delta
is_well_formed_var_name                                -      87     +87
builtin_read                                          49      86     +37
die_if_script                                          -      31     +31
syntax_error_unterminated                              -      28     +28
syntax_error                                          26      51     +25
done_word                                            768     788     +20
syntax_error_at                                        -      12     +12
parse_stream_dquoted                                 320     328      +8
expand_variables                                    2064    2063      -1
run_list                                            1225    1220      -5
add_till_closing_paren                               308     303      -5
add_till_backquote                                   111     106      -5
handle_dollar                                        812     803      -9
parse_stream                                        2378    2356     -22
parse_redirect                                       408     372     -36
maybe_die                                             44       -     -44
is_assignment                                        215     134     -81
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 4/8 up/down: 248/-208)           Total: 40 bytes
This commit is contained in:
Denis Vlasenko
2009-04-09 19:16:15 +00:00
parent 1943aec2ec
commit 05d3b7cc0d
5 changed files with 214 additions and 157 deletions

View File

@@ -55,28 +55,28 @@ Format: 'expected actual'
30 30
20 20
30 30
hush: arith: syntax error
hush: error in arithmetic
6 6
6,5,3 6,5,3
263 263
255 255
40 40
hush: arith: syntax error
hush: arith: divide by zero
hush: error in arithmetic
hush: divide by 0
hush: can't exec 'let': No such file or directory
hush: arith: syntax error
hush: error in arithmetic
hush: can't exec 'let': No such file or directory
abc
def
ghi
hush: arith: syntax error
hush: error in arithmetic
16 16
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
9 9
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
9 9
9 9
9 9
@@ -97,18 +97,18 @@ hush: arith: syntax error
3 3
4 4
4 4
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
4 4
7 7
-7 -7
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
6 6
3 3
7 7
@@ -119,19 +119,19 @@ hush: arith: syntax error
2 2
-2 -2
1 1
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
5 5
1 1
4 4
0 0
hush: arith: syntax error
hush: arith: syntax error
hush: error in arithmetic
hush: error in arithmetic
8 12
hush: arith: syntax error
hush: error in arithmetic
42
42
42

View File

@@ -2,10 +2,10 @@ hush: syntax error: unterminated ${name}
hush: syntax error: unterminated ${name}
0
0
hush: 1: special vars cannot assign in this way
hush: 1: special vars cannot assign in this way
hush: 1: special vars cannot assign in this way
hush: 1: special vars cannot assign in this way
hush: $1: cannot assign in this way
hush: $1: cannot assign in this way
hush: $1: cannot assign in this way
hush: $1: cannot assign in this way
_aa
_aa
_aa

View File

@@ -5,8 +5,8 @@ hush: syntax error: unterminated ${name}
_
hush: 1: parameter null or not set
hush: 1: parameter null or not set
hush: 1: word
hush: 1: word
hush: 1: message1
hush: 1: message1
_aaaa
_aaaa
_aaaa
@@ -15,13 +15,13 @@ _aaaa
_
hush: f: parameter null or not set
hush: f: parameter null or not set
hush: f: word
hush: f: word
hush: f: message3
hush: f: message3
_
_
hush: f: parameter null or not set
_
hush: f: word
hush: f: message4
_fff
_fff
_fff

View File

@@ -12,8 +12,8 @@
"$THIS_SH" -c 'set --; echo _$1'
"$THIS_SH" -c 'set --; echo _${1?}'
"$THIS_SH" -c 'set --; echo _${1:?}'
"$THIS_SH" -c 'set --; echo _${1?word}'
"$THIS_SH" -c 'set --; echo _${1:?word}'
"$THIS_SH" -c 'set --; echo _${1?message1}'
"$THIS_SH" -c 'set --; echo _${1:?message1}'
"$THIS_SH" -c 'set -- aaaa; echo _$1'
"$THIS_SH" -c 'set -- aaaa; echo _${1?}'
@@ -24,14 +24,14 @@
"$THIS_SH" -c 'unset f; echo _$f'
"$THIS_SH" -c 'unset f; echo _${f?}'
"$THIS_SH" -c 'unset f; echo _${f:?}'
"$THIS_SH" -c 'unset f; echo _${f?word}'
"$THIS_SH" -c 'unset f; echo _${f:?word}'
"$THIS_SH" -c 'unset f; echo _${f?message3}'
"$THIS_SH" -c 'unset f; echo _${f:?message3}'
"$THIS_SH" -c 'f=; echo _$f'
"$THIS_SH" -c 'f=; echo _${f?}'
"$THIS_SH" -c 'f=; echo _${f:?}'
"$THIS_SH" -c 'f=; echo _${f?word}'
"$THIS_SH" -c 'f=; echo _${f:?word}'
"$THIS_SH" -c 'f=; echo _${f:?message4}'
"$THIS_SH" -c 'f=fff; echo _$f'
"$THIS_SH" -c 'f=fff; echo _${f?}'