diff options
author | Oliver Kiddle <okiddle@yahoo.co.uk> | 2014-02-05 21:55:18 +0100 |
---|---|---|
committer | Oliver Kiddle <okiddle@yahoo.co.uk> | 2014-02-05 21:55:18 +0100 |
commit | e1bc9d0a44da9c27c5558767cdb75da1a3424a4b (patch) | |
tree | 8242fb1af26e2423082813deea64383fcd869544 /Src/Zle/zle_main.c | |
parent | 2cd3b9ab74a961798362d27094a6d29d7723c171 (diff) | |
download | zsh-e1bc9d0a44da9c27c5558767cdb75da1a3424a4b.tar.gz zsh-e1bc9d0a44da9c27c5558767cdb75da1a3424a4b.tar.xz 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.c | 16 |
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) |