Age | Commit message (Collapse) | Author |
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
init=/bin/hush: shows prompt, history works, etc.
function old new delta
hush_main 888 925 +37
block_signals 139 152 +13
builtin_fg_bg 284 293 +9
checkjobs_and_fg_shell 35 41 +6
sigexit 65 66 +1
reset_traps_to_defaults 165 164 -1
parse_stream 2200 2184 -16
run_list 2502 2475 -27
getpgid 35 - -35
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 5/3 up/down: 66/-79) Total: -13 bytes
|
|
|
|
more uses are expected in the future.
function old new delta
getopt32 1356 1393 +37
builtin_export 256 266 +10
builtin_unset 418 380 -38
|
|
|
|
function old new delta
expand_variables 2203 2217 +14
|
|
|
|
PS1/PS2/HOME, respect the PS2 env var, and make sure that the prompt changes whenever PS1/PS2 changes so we dont have to re-exec the shell to get a changed prompt
|
|
*: make "can't execute '%s'" message uniform
|
|
function old new delta
set_local_var 265 290 +25
|
|
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!
|
|
function old new delta
builtin_export 206 256 +50
set_local_var 248 265 +17
expand_variables 2204 2203 -1
|
|
|
|
function old new delta
run_list 2450 2502 +52
|
|
corner case; improve hush_leaktool.sh;
fix some false positives in testsuite
function old new delta
builtin_export 191 206 +15
parse_stream 2196 2200 +4
|
|
|
|
function old new delta
parse_stream 2176 2302 +126
builtin_unset 381 387 +6
|
|
|
|
|
|
|
|
|
|
four TODOs are gone
function old new delta
builtin_unset 271 364 +93
checkjobs 394 428 +34
builtin_exit 49 47 -2
|
|
function old new delta
builtin_umask 79 125 +46
|
|
function old new delta
check_and_run_traps 164 229 +65
insert_bg_job 376 366 -10
hush_main 937 927 -10
|
|
|
|
~+200 bytes
|
|
function old new delta
restore_G_args - 78 +78
save_and_replace_G_args - 64 +64
builtin_source 72 107 +35
run_list 2549 2367 -182
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/1 up/down: 177/-182) Total: -5 bytes
|
|
function old new delta
checkjobs 380 394 +14
|
|
|
|
and "{ echo hi }" (require semicolon or &)
function old new delta
parse_stream 2098 2176 +78
done_command 98 84 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 78/-14) Total: 64 bytes
|
|
|
|
function old new delta
done_word 728 793 +65
parse_stream 2084 2098 +14
|
|
|
|
|
|
|
|
|
|
function old new delta
generate_stream_from_string 156 165 +9
setup_heredoc 312 320 +8
re_execute_shell 387 391 +4
pseudo_exec_argv 129 133 +4
run_pipe 1790 1783 -7
clean_up_after_re_execute 30 - -30
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/1 up/down: 25/-37) Total: -12 bytes
|
|
|
|
|
|
function old new delta
new_function - 123 +123
hush_main 1198 1262 +64
re_execute_shell 341 387 +46
run_pipe 1872 1790 -82
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/1 up/down: 233/-82) Total: 151 bytes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function old new delta
run_pipe 1183 1325 +142
run_list 1219 1220 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 143/0) Total: 143 bytes
|
|
functions in child shells now even have $n passed to them! :)
(in main shell it still doesn't work)
|
|
Only very rudimentary testing was done.
With function support off, code growth is zero, with it on:
function old new delta
run_list 2158 2339 +181
parse_stream 1929 2044 +115
find_builtin 24 67 +43
find_function - 36 +36
file_get 244 264 +20
pseudo_exec_argv 145 160 +15
free_strings - 7 +7
free_pipe 183 181 -2
done_word 735 728 -7
expand_variables 2227 2204 -23
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/3 up/down: 417/-32) Total: 385 bytes
|
|
|