aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpgf <pgf@69ca8d6d-28ef-0310-b511-8ec308f3f277>2005-07-18 22:17:25 +0000
committerpgf <pgf@69ca8d6d-28ef-0310-b511-8ec308f3f277>2005-07-18 22:17:25 +0000
commit6dd9914ffd7385225e3a2e5a3be682cea6d02120 (patch)
treed9b98825dc851c5751c336dc4cfa635b0b5bb4ba
parentd683e62f487f8bc2b5f8080a9a19b640f5eda9f0 (diff)
downloadbusybox-w32-6dd9914ffd7385225e3a2e5a3be682cea6d02120.tar.gz
busybox-w32-6dd9914ffd7385225e3a2e5a3be682cea6d02120.tar.bz2
busybox-w32-6dd9914ffd7385225e3a2e5a3be682cea6d02120.zip
allow both ^H and DEL to backspace in insert mode (bug #23)
git-svn-id: svn://busybox.net/trunk/busybox@10851 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--editors/vi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/editors/vi.c b/editors/vi.c
index fc1deeb3c..eb0aa33f6 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -1612,7 +1612,7 @@ static Byte *char_insert(Byte * p, Byte c) // insert the char c at 'p'
1612 if ((p[-1] != '\n') && (dot>text)) { 1612 if ((p[-1] != '\n') && (dot>text)) {
1613 p--; 1613 p--;
1614 } 1614 }
1615 } else if (c == erase_char) { // Is this a BS 1615 } else if (c == erase_char || c == 8 || c == 127) { // Is this a BS
1616 // 123456789 1616 // 123456789
1617 if ((p[-1] != '\n') && (dot>text)) { 1617 if ((p[-1] != '\n') && (dot>text)) {
1618 p--; 1618 p--;
@@ -3083,8 +3083,8 @@ key_cmd_mode:
3083 break; 3083 break;
3084 case 'h': // h- move left 3084 case 'h': // h- move left
3085 case VI_K_LEFT: // cursor key Left 3085 case VI_K_LEFT: // cursor key Left
3086 case 8: // ctrl-H- move left (This may be ERASE char) 3086 case 8: // ctrl-H- move left (This may be ERASE char)
3087 case 127: // DEL- move left (This may be ERASE char) 3087 case 127: // DEL- move left (This may be ERASE char)
3088 if (cmdcnt-- > 1) { 3088 if (cmdcnt-- > 1) {
3089 do_cmd(c); 3089 do_cmd(c);
3090 } // repeat cnt 3090 } // repeat cnt
@@ -3249,7 +3249,7 @@ key_cmd_mode:
3249 // 3249 //
3250 // dont separate these two commands. 'f' depends on ';' 3250 // dont separate these two commands. 'f' depends on ';'
3251 // 3251 //
3252 //**** fall thru to ... 'i' 3252 //**** fall thru to ... ';'
3253 case ';': // ;- look at rest of line for last forward char 3253 case ';': // ;- look at rest of line for last forward char
3254 if (cmdcnt-- > 1) { 3254 if (cmdcnt-- > 1) {
3255 do_cmd(';'); 3255 do_cmd(';');