summaryrefslogtreecommitdiff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2014-02-05 21:55:18 +0100
committerOliver Kiddle <okiddle@yahoo.co.uk>2014-02-05 21:55:18 +0100
commite1bc9d0a44da9c27c5558767cdb75da1a3424a4b (patch)
tree8242fb1af26e2423082813deea64383fcd869544 /Src/Zle/zle_main.c
parent2cd3b9ab74a961798362d27094a6d29d7723c171 (diff)
downloadzsh-e1bc9d0a44da9c27c5558767cdb75da1a3424a4b.tar.gz
zsh-e1bc9d0a44da9c27c5558767cdb75da1a3424a4b.zip
32342: fix overstrike for vi mode and use varying vi commands at line start
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index ed8577bcd..b0010fc33 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -1198,14 +1198,6 @@ zleread(char **lp, char **rp, int flags, int context, char *init, char *finish)
statusline = NULL;
selectkeymap("main", 1);
initundo();
- /*
- * If main is linked to the viins keymap, we need to register
- * explicitly that we're now in vi insert mode as there's
- * no user operation to indicate this.
- */
- if (openkeymap("main") == openkeymap("viins"))
- viinsert_init();
- selectlocalmap(NULL);
fixsuffix();
if ((s = getlinknode(bufstack))) {
setline(s, ZSL_TOEND);
@@ -1222,6 +1214,14 @@ zleread(char **lp, char **rp, int flags, int context, char *init, char *finish)
stackhist = -1;
}
}
+ /*
+ * If main is linked to the viins keymap, we need to register
+ * explicitly that we're now in vi insert mode as there's
+ * no user operation to indicate this.
+ */
+ if (openkeymap("main") == openkeymap("viins"))
+ viinsert_init();
+ selectlocalmap(NULL);
if (isset(PROMPTCR))
putc('\r', shout);
if (tmout)