aboutsummaryrefslogtreecommitdiff
path: root/editors/vi.c
AgeCommit message (Collapse)Author
2008-11-24vi: speedup and code shrink (Walter Harms)Denis Vlasenko
networking/interface.c: silence warning (Vladimir) wget: more robust EINTR detection
2008-11-19vi: fix several instances of major goof: when text grows, text[]Denis Vlasenko
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-05*: code shrink by adding a wrapper around very common tcsetattr(0, TCSANOW, ↵Denis Vlasenko
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-10-29randomconfig fixesDenis Vlasenko
2008-10-29vi: fix uninitialized last_search_pattern (bug 5794)Denis Vlasenko
2008-10-25less: reuse former vi's key reading code. Improve SIGWINCH handling.Denis Vlasenko
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-25vi: move key reading routine out of vi into llbbbDenis Vlasenko
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-20vi: handle chars 0x80, 0x81... correctlyDenis Vlasenko
2008-10-19Comment and whitespace tweaks.Rob Landley
2008-10-18vi: explain why reading 4 chars is unsafeDenis Vlasenko
2008-10-18vi: whitespace fixDenis Vlasenko
2008-10-16vi: a few trivial optimizations to keyboard reading code; bump timeout to 50s.Denis Vlasenko
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-16Confirmed that on Linux the serial interrupt takes precedence over the timerRob Landley
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-14vi: fix bizarre formatting. no code changesDenis Vlasenko
2008-10-14fix recurring "last_cmd overrun", fix [del] handling in insert modeDenis Vlasenko
2008-10-14vi: trivial size optimization -65 bytesDenis Vlasenko
2008-10-14vi: reinstate timeout of 300 msDenis Vlasenko
2008-10-14vi: add comments to Rob's algorithm of reading and matching ESC sequencesDenis Vlasenko
(nice work btw!)
2008-10-14Escape sequences sent over serial links don't come in as a block, so pollRob Landley
needs to pause a bit to make sure the next character has time to come in.
2008-10-14Clean up editors/vi.c:readit() so it only does readahead when actuallyRob Landley
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-09-21crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)Denis Vlasenko
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-07-17vi: using array data after it fell out of scope is stupid.Denis Vlasenko
2008-07-05*: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko
2008-06-27vi: fix vda's thinkoDenis Vlasenko
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-06-26print_flags: fix trivial thinkoDenis Vlasenko
vi: fix reversed checks for underflow
2008-06-24vi: fix yet another vda's thinkoDenis Vlasenko
2008-06-22vi: fix obvious thinko'sDenis Vlasenko
2008-06-22vi: fix vda's breakage (by Cristian Ionescu-Idbohrn)Denis Vlasenko
2008-06-21vi: small code shrinkDenis Vlasenko
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-20vi: fix the bug where vi never grows the edit buffer.Denis Vlasenko
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-05-19- use STD*_FILENO some more. No object-code changesBernhard Reutner-Fischer
2008-05-18more -Wall warning fixes. -Wall is enabled now.Denis Vlasenko
2008-05-13more -Wall warning fixes from Cristian Ionescu-Idbohrn.Denis Vlasenko
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-03vi: do not truncate file to zero length. closes bug 2944.Denis Vlasenko
function old new delta file_write 98 104 +6
2008-03-24*: whitespace fixes, no code changesDenis Vlasenko
2008-03-24lpr: add more accurate commentsDenis Vlasenko
*: trailing whitespace removal
2008-03-17remove alarm() calls which were functioning as a primitivePaul Fox
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*: add -Wunused-parameter; fix resulting breakageDenis Vlasenko
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-06fixups to vi usage, and move the initial redraw() past thePaul Fox
execution of commands supplied by -c or EXINIT, so their effect is displayed correctly.
2008-03-06fixed the "dot" (i.e. '.') command, to properly re-init itsPaul Fox
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-05fix vi's '?' and '/' commands to correctly set a new directionPaul Fox
when reusing a previous search pattern. previously only 'n' and 'N' reversed directions properly.
2008-02-27*: add optimization barrier to all "G trick" locationsDenis Vlasenko
2008-02-14add ',' and 'gg' commands (patch from Leo Jay)Paul Fox
2008-02-11- spelling fixesBernhard Reutner-Fischer
2007-12-30libbb: introduce fputc_printable (from ed)Denis Vlasenko
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-23vi: speed up some string opsDenis Vlasenko
2007-12-22vi: reduce amount of memset'ing on each screen refreshDenis Vlasenko
2007-12-22vi: introduce FEATURE_VI_8BIT (as vi currently is not Unicode capable,Denis Vlasenko
people may want to disable display of high-bit chars) ip: build fixlet
2007-12-22vi: change MAX_LINELEN meaning: now it is the biggest supportedDenis Vlasenko
screen wigth. Introduce MAX_TABSTOP and MAX_INPUT_LEN. Fix redraw of very long lines and cursor movement past NULs.