aboutsummaryrefslogtreecommitdiff
path: root/editors/vi.c
diff options
context:
space:
mode:
Diffstat (limited to 'editors/vi.c')
-rw-r--r--editors/vi.c14
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;