about summary refs log tree commit diff
path: root/Src/Zle/zle_move.c
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2014-12-08 17:23:23 +0100
committerOliver Kiddle <opk@zsh.org>2014-12-08 17:24:48 +0100
commit88f4e24d4c42de1072898cd0e26e3d43c7de448c (patch)
tree326ea242e10e31ece5279ae9049abb19f01a1574 /Src/Zle/zle_move.c
parent53e44daeba8481858cded683a780841085f36988 (diff)
downloadzsh-88f4e24d4c42de1072898cd0e26e3d43c7de448c.tar.gz
zsh-88f4e24d4c42de1072898cd0e26e3d43c7de448c.tar.xz
zsh-88f4e24d4c42de1072898cd0e26e3d43c7de448c.zip
33924: allow vi line/characterwise mode to be forced
Diffstat (limited to 'Src/Zle/zle_move.c')
-rw-r--r--Src/Zle/zle_move.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/Src/Zle/zle_move.c b/Src/Zle/zle_move.c
index 939cfb1d0..d751c4333 100644
--- a/Src/Zle/zle_move.c
+++ b/Src/Zle/zle_move.c
@@ -511,6 +511,12 @@ exchangepointandmark(UNUSED(char **args))
 int
 visualmode(UNUSED(char **args))
 {
+    if (virangeflag) {
+	prefixflag = 1;
+	zmod.flags &= ~MOD_LINE;
+	zmod.flags |= MOD_CHAR;
+	return 0;
+    }
     switch (region_active) {
     case 1:
 	region_active = 0;
@@ -529,6 +535,12 @@ visualmode(UNUSED(char **args))
 int
 visuallinemode(UNUSED(char **args))
 {
+    if (virangeflag) {
+	prefixflag = 1;
+	zmod.flags &= ~MOD_CHAR;
+	zmod.flags |= MOD_LINE;
+	return 0;
+    }
     switch (region_active) {
     case 2:
 	region_active = 0;