aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2016-04-24 12:56:59 +0100
committerRon Yorston <rmy@pobox.com>2016-04-24 12:56:59 +0100
commita89270b2be310c4255e9baa9a22966d3cd8ed9c8 (patch)
tree12fa1a222b4bdbcfba36b26402749077edf9daa9 /libbb
parenta93d86689d85015b5bf465ab0ef810449bb55d41 (diff)
downloadbusybox-w32-a89270b2be310c4255e9baa9a22966d3cd8ed9c8.tar.gz
busybox-w32-a89270b2be310c4255e9baa9a22966d3cd8ed9c8.tar.bz2
busybox-w32-a89270b2be310c4255e9baa9a22966d3cd8ed9c8.zip
libbb/lineedit: only clear to EOL when deleting character
When the console buffer is large clearing to the end of the buffer slows deletion noticeably. Only clear to end of line.
Diffstat (limited to 'libbb')
-rw-r--r--libbb/lineedit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 04361b509..9f96d4a0b 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -110,7 +110,7 @@ static bool BB_ispunct(CHAR_T c) { return ((unsigned)c < 256 && ispunct(c)); }
110#define ESC "\033" 110#define ESC "\033"
111 111
112#define SEQ_CLEAR_TILL_END_OF_SCREEN ESC"[J" 112#define SEQ_CLEAR_TILL_END_OF_SCREEN ESC"[J"
113//#define SEQ_CLEAR_TILL_END_OF_LINE ESC"[K" 113#define SEQ_CLEAR_TILL_END_OF_LINE ESC"[K"
114 114
115 115
116enum { 116enum {
@@ -611,7 +611,7 @@ static void input_delete(int save)
611 command_len--; 611 command_len--;
612 put_till_end_and_adv_cursor(); 612 put_till_end_and_adv_cursor();
613 /* Last char is still visible, erase it (and more) */ 613 /* Last char is still visible, erase it (and more) */
614 printf(SEQ_CLEAR_TILL_END_OF_SCREEN); 614 printf(SEQ_CLEAR_TILL_END_OF_LINE);
615 input_backward(cursor - j); /* back to old pos cursor */ 615 input_backward(cursor - j); /* back to old pos cursor */
616} 616}
617 617