diff options
author | Ron Yorston <rmy@pobox.com> | 2016-10-19 17:01:55 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2016-10-19 17:01:55 +0100 |
commit | 075814c60a316cfd088c88f26f75ab21b5850b98 (patch) | |
tree | f6e33ac693630827deb309faa5fa4931588db57d /editors/vi.c | |
parent | 977d65c1bbc57f5cdd0c8bfd67c8b5bb1cd390dd (diff) | |
parent | f37e1155aabde6bd95d267a8aec347cedccb8bc3 (diff) | |
download | busybox-w32-075814c60a316cfd088c88f26f75ab21b5850b98.tar.gz busybox-w32-075814c60a316cfd088c88f26f75ab21b5850b98.tar.bz2 busybox-w32-075814c60a316cfd088c88f26f75ab21b5850b98.zip |
Merge branch busybox (up to "ash: comment out free(p) just before...")
Diffstat (limited to 'editors/vi.c')
-rw-r--r-- | editors/vi.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/editors/vi.c b/editors/vi.c index da7464b58..b81f2b92d 100644 --- a/editors/vi.c +++ b/editors/vi.c | |||
@@ -2722,9 +2722,8 @@ static char *swap_context(char *p) // goto new context for '' command make this | |||
2722 | // only swap context if other context is valid | 2722 | // only swap context if other context is valid |
2723 | if (text <= mark[27] && mark[27] <= end - 1) { | 2723 | if (text <= mark[27] && mark[27] <= end - 1) { |
2724 | tmp = mark[27]; | 2724 | tmp = mark[27]; |
2725 | mark[27] = mark[26]; | 2725 | mark[27] = p; |
2726 | mark[26] = tmp; | 2726 | mark[26] = p = tmp; |
2727 | p = mark[26]; // where we are going- previous context | ||
2728 | context_start = prev_line(prev_line(prev_line(p))); | 2727 | context_start = prev_line(prev_line(prev_line(p))); |
2729 | context_end = next_line(next_line(next_line(p))); | 2728 | context_end = next_line(next_line(next_line(p))); |
2730 | } | 2729 | } |
@@ -3665,8 +3664,9 @@ static void do_cmd(int c) | |||
3665 | } | 3664 | } |
3666 | break; | 3665 | break; |
3667 | case '\'': // '- goto a specific mark | 3666 | case '\'': // '- goto a specific mark |
3668 | c1 = (get_one_char() | 0x20) - 'a'; | 3667 | c1 = (get_one_char() | 0x20); |
3669 | if ((unsigned)c1 <= 25) { // a-z? | 3668 | if ((unsigned)(c1 - 'a') <= 25) { // a-z? |
3669 | c1 = (c1 - 'a'); | ||
3670 | // get the b-o-l | 3670 | // get the b-o-l |
3671 | q = mark[c1]; | 3671 | q = mark[c1]; |
3672 | if (text <= q && q < end) { | 3672 | if (text <= q && q < end) { |
@@ -3980,7 +3980,9 @@ static void do_cmd(int c) | |||
3980 | c1 = get_one_char(); | 3980 | c1 = get_one_char(); |
3981 | if (c1 != 'g') { | 3981 | if (c1 != 'g') { |
3982 | buf[0] = 'g'; | 3982 | buf[0] = 'g'; |
3983 | buf[1] = c1; // TODO: if Unicode? | 3983 | // c1 < 0 if the key was special. Try "g<up-arrow>" |
3984 | // TODO: if Unicode? | ||
3985 | buf[1] = (c1 >= 0 ? c1 : '*'); | ||
3984 | buf[2] = '\0'; | 3986 | buf[2] = '\0'; |
3985 | not_implemented(buf); | 3987 | not_implemented(buf); |
3986 | break; | 3988 | break; |