Denis Vlasenko
4ae1e13d3f
vi: fix several instances of major goof: when text grows, text[]
...
might get reallocated! We were keeping around pointers to old place...
function old new delta
colon 3017 3037 +20
char_insert 336 354 +18
stupid_insert 18 24 +6
string_insert 89 94 +5
do_cmd 4461 4465 +4
file_insert 328 329 +1
text_hole_make 134 120 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/1 up/down: 54/-14) Total: 40 bytes
2008-11-19 13:25:14 +00:00
Denis Vlasenko
202ac504e1
*: code shrink by adding a wrapper around very common tcsetattr(0, TCSANOW, xx) op
...
function old new delta
tcsetattr_stdin_TCSANOW - 14 +14
set_sane_term 116 113 -3
top_main 1277 1273 -4
make_new_session 421 415 -6
rawmode 133 126 -7
reset_term 18 10 -8
die 43 35 -8
cookmode 62 54 -8
vlock_main 425 415 -10
read_line_input 3165 3155 -10
bb_askpass 357 347 -10
fsck_minix_main 3079 3065 -14
getty_main 2375 2332 -43
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/12 up/down: 14/-131) Total: -117 bytes
2008-11-05 13:20:58 +00:00
Denis Vlasenko
31d58e58d2
randomconfig fixes
2008-10-29 13:16:28 +00:00
Denis Vlasenko
c3a9dc8ac5
vi: fix uninitialized last_search_pattern (bug 5794)
2008-10-29 00:58:04 +00:00
Denis Vlasenko
5f6aaf39cf
less: reuse former vi's key reading code. Improve SIGWINCH handling.
...
function old new delta
less_main 2056 2097 +41
getch_nowait 248 273 +25
read_key 310 321 +11
static.esccmds 61 69 +8
count_lines 72 74 +2
less_gets 166 142 -24
less_getch 172 43 -129
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/5 up/down: 91/-170) Total: -79 bytes
text data bss dec hex filename
2008-10-25 23:27:29 +00:00
Denis Vlasenko
0112ff5203
vi: move key reading routine out of vi into llbbb
...
function old new delta
read_key - 310 +310
....
static.esccmds 170 61 -109
readit 286 60 -226
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 9/10 up/down: 349/-367) Total: -18 bytes
2008-10-25 23:23:00 +00:00
Denis Vlasenko
4c9e9c4314
vi: handle chars 0x80, 0x81... correctly
2008-10-20 08:59:03 +00:00
Rob Landley
4bdeaaf556
Comment and whitespace tweaks.
2008-10-19 04:21:21 +00:00
Denis Vlasenko
e3742f4217
vi: explain why reading 4 chars is unsafe
2008-10-18 19:37:41 +00:00
Denis Vlasenko
1dfeeeb651
vi: whitespace fix
2008-10-18 19:04:37 +00:00
Denis Vlasenko
8ef801b40c
vi: a few trivial optimizations to keyboard reading code; bump timeout to 50s.
...
function old new delta
edit_file 901 912 +11
count_lines 74 72 -2
readit 306 289 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 11/-19) Total: -8 bytes
2008-10-16 09:46:07 +00:00
Rob Landley
7960ea8918
Confirmed that on Linux the serial interrupt takes precedence over the timer
...
interrupt, so we don't need to worry about scheduler delays. This means the
delay can be trimmed down to 25 miliseconds. Add comment while at it.
2008-10-16 06:34:10 +00:00
Denis Vlasenko
d44c1535ae
vi: fix bizarre formatting. no code changes
2008-10-14 12:59:42 +00:00
Denis Vlasenko
ded6ad34ed
fix recurring "last_cmd overrun", fix [del] handling in insert mode
2008-10-14 12:26:30 +00:00
Denis Vlasenko
267e16c74a
vi: trivial size optimization -65 bytes
2008-10-14 10:34:41 +00:00
Denis Vlasenko
25497c1d92
vi: reinstate timeout of 300 ms
2008-10-14 10:25:05 +00:00
Denis Vlasenko
5373fbcd11
vi: add comments to Rob's algorithm of reading and matching ESC sequences
...
(nice work btw!)
2008-10-14 10:09:56 +00:00
Rob Landley
5e38cd910a
Escape sequences sent over serial links don't come in as a block, so poll
...
needs to pause a bit to make sure the next character has time to come in.
2008-10-14 08:44:09 +00:00
Rob Landley
988dd5549b
Clean up editors/vi.c:readit() so it only does readahead when actually
...
parsing an escape sequence. (This mitigates but doesn't fully fix the
the "cursoring around the file deletes data under qemu" bug, presumably due
to "\033[D" being treated as three separate characters.)
2008-10-14 01:42:33 +00:00
Denis Vlasenko
30cfdf90ce
crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)
...
vi: deal with EOF/error on stdin and with input NULs
function old new delta
crontab_main 623 642 +19
edit_file 901 906 +5
readit 331 318 -13
2008-09-21 15:29:29 +00:00
Denis Vlasenko
7b54dc788c
vi: using array data after it fell out of scope is stupid.
2008-07-17 21:32:32 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +00:00
Denis Vlasenko
d699544205
vi: fix vda's thinko
2008-06-27 04:06:13 +00:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
9092f754bd
print_flags: fix trivial thinko
...
vi: fix reversed checks for underflow
2008-06-26 22:40:02 +00:00
Denis Vlasenko
70685bd022
vi: fix yet another vda's thinko
2008-06-24 14:10:41 +00:00
Denis Vlasenko
e3eae0d445
vi: fix obvious thinko's
2008-06-22 16:38:53 +00:00
Denis Vlasenko
2a210e5df2
vi: fix vda's breakage (by Cristian Ionescu-Idbohrn)
2008-06-22 13:20:42 +00:00
Denis Vlasenko
3387538bbe
vi: small code shrink
...
function old new delta
file_insert 328 329 +1
colon 3067 3064 -3
string_insert 93 89 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 1/-7) Total: -6 bytes
2008-06-21 20:31:50 +00:00
Denis Vlasenko
b175946ba4
vi: fix the bug where vi never grows the edit buffer.
...
vi: do G trick on it
function old new delta
place_cursor 264 276 +12
next_tabstop 22 34 +12
mycmp 44 52 +8
status_line 34 40 +6
yank_delete 89 92 +3
what_reg 34 37 +3
suspend_sig 63 66 +3
find_range 493 496 +3
redraw 104 106 +2
cont_sig 63 65 +2
Indicate_Error 59 61 +2
status_line_bold 71 72 +1
file_insert 327 328 +1
vi_setops 1 - -1
...
cmdcnt 4 - -4
chars_to_parse 4 - -4
ccol 4 - -4
dot_scroll 88 79 -9
stupid_insert 28 18 -10
winch_sig 102 91 -11
char_insert 353 336 -17
readit 354 336 -18
get_one_char 128 110 -18
init_text_buffer 171 152 -19
text_hole_delete 132 112 -20
edit_file 940 918 -22
get_input_line 198 168 -30
show_status_line 449 408 -41
colon 3112 3067 -45
vi_main 312 250 -62
refresh 1077 974 -103
do_cmd 4818 4483 -335
------------------------------------------------------------------------------
(add/remove: 0/38 grow/shrink: 13/20 up/down: 58/-889) Total: -831 bytes
text data bss dec hex filename
809566 612 7044 817222 c7846 busybox_old
808794 611 6924 816329 c74c9 busybox_unstripped
text data bss dec hex filename
18888 1 122 19011 4a43 busybox.t8/editors/vi.o
18116 0 0 18116 46c4 busybox.t9/editors/vi.o
2008-06-20 20:20:54 +00:00
Bernhard Reutner-Fischer
5e25ddb7d3
- use STD*_FILENO some more. No object-code changes
2008-05-19 09:48:17 +00:00
Denis Vlasenko
5599502a55
more -Wall warning fixes. -Wall is enabled now.
2008-05-18 22:28:26 +00:00
Denis Vlasenko
77ad97f199
more -Wall warning fixes from Cristian Ionescu-Idbohrn.
...
This time it resulted in small code changes:
function old new delta
nexpr 820 828 +8
tail_main 1200 1202 +2
wrapf 166 167 +1
parse_mount_options 227 209 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 11/-18) Total: -7 bytes
2008-05-13 02:27:31 +00:00
Denis Vlasenko
8abae88410
vi: do not truncate file to zero length. closes bug 2944.
...
function old new delta
file_write 98 104 +6
2008-05-03 11:35:59 +00:00
Denis Vlasenko
c693840fe8
*: whitespace fixes, no code changes
2008-03-24 02:18:03 +00:00
Denis Vlasenko
42cc304e90
lpr: add more accurate comments
...
*: trailing whitespace removal
2008-03-24 02:05:58 +00:00
Paul Fox
2724fa9d8a
remove alarm() calls which were functioning as a primitive
...
watchdog function, presumably to catch infinite loop bugs.
(control-C can do the same thing, and the alarms were too short in
any case.) also, switch to sigsetjmp/siglongjmp in order to allow
repeated use of control-C -- otherwise it works once, then not again.
2008-03-17 15:28:07 +00:00
Denis Vlasenko
68404f13d4
*: add -Wunused-parameter; fix resulting breakage
...
function old new delta
procps_scan 1265 1298 +33
aliascmd 278 283 +5
parse_file_cmd 116 120 +4
dname_enc 373 377 +4
setcmd 90 93 +3
execcmd 57 60 +3
count_lines 72 74 +2
process_command_subs 340 339 -1
test_main 409 407 -2
mknod_main 179 177 -2
handle_incoming_and_exit 2653 2651 -2
argstr 1312 1310 -2
shiftcmd 131 128 -3
exitcmd 46 43 -3
dotcmd 297 294 -3
breakcmd 86 83 -3
evalpipe 353 349 -4
evalcommand 1180 1176 -4
evalcmd 109 105 -4
send_tree 374 369 -5
mkfifo_main 82 77 -5
evalsubshell 152 147 -5
typecmd 75 69 -6
letcmd 61 55 -6
add_cmd 1190 1183 -7
main 891 883 -8
ash_main 1415 1407 -8
parse_stream 1377 1367 -10
alloc_procps_scan 55 - -55
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes
text data bss dec hex filename
797195 658 7428 805281 c49a1 busybox_old
797101 658 7428 805187 c4943 busybox_unstripped
2008-03-17 09:00:54 +00:00
Paul Fox
35e9c5d83a
fixups to vi usage, and move the initial redraw() past the
...
execution of commands supplied by -c or EXINIT, so their
effect is displayed correctly.
2008-03-06 16:26:12 +00:00
Paul Fox
c51fc7bed6
fixed the "dot" (i.e. '.') command, to properly re-init its
...
buffer between commands, not recalculate its length all the time,
and to not reallocate its fixed-length buffer frequently.
fixed the 'c', 'd', and 'y' commands to properly handle both motions
that are just part of a line, and those that are multiline. for
instance, now "c%" and "2cw" work correctly, whether the motions span
lines or not.
added some permissble motions for 'c', 'd', and 'y': namely 'h',
'l', SPACE, BS, and DEL
2008-03-06 01:34:23 +00:00
Paul Fox
4917c11432
fix vi's '?' and '/' commands to correctly set a new direction
...
when reusing a previous search pattern. previously only 'n' and 'N'
reversed directions properly.
2008-03-05 16:44:02 +00:00
Denis Vlasenko
574f2f4394
*: add optimization barrier to all "G trick" locations
2008-02-27 18:41:59 +00:00
Paul Fox
b5ee8db9b5
add ',' and 'gg' commands (patch from Leo Jay)
2008-02-14 01:17:01 +00:00
Bernhard Reutner-Fischer
a985d306a1
- spelling fixes
2008-02-11 11:44:38 +00:00
Denis Vlasenko
d3c042fc60
libbb: introduce fputc_printable (from ed)
...
netstat: print control chars as ^C etc
vi: style fixlet
function old new delta
fputc_printable - 100 +100
unix_do_one 451 487 +36
printLines 258 190 -68
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 136/-68) Total: 68 bytes
2007-12-30 01:59:53 +00:00
Denis Vlasenko
f882f08627
vi: speed up some string ops
2007-12-23 02:36:51 +00:00
Denis Vlasenko
4baed3a080
vi: reduce amount of memset'ing on each screen refresh
2007-12-22 17:31:29 +00:00
Denis Vlasenko
e3cbfb91d2
vi: introduce FEATURE_VI_8BIT (as vi currently is not Unicode capable,
...
people may want to disable display of high-bit chars)
ip: build fixlet
2007-12-22 17:00:11 +00:00
Denis Vlasenko
88adfcd178
vi: change MAX_LINELEN meaning: now it is the biggest supported
...
screen wigth. Introduce MAX_TABSTOP and MAX_INPUT_LEN. Fix redraw
of very long lines and cursor movement past NULs.
2007-12-22 15:40:13 +00:00
Denis Vlasenko
26b6fba9d3
vi: fix a problem with displaying overlong lines
2007-12-21 21:34:37 +00:00