summaryrefslogtreecommitdiff
path: root/Src/Modules/ksh93.c
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2023-03-11 13:20:21 -0800
committerBart Schaefer <schaefer@zsh.org>2023-03-11 13:20:21 -0800
commit25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c (patch)
treec74d0e843093d48d7f091e3ce3346a280b394cc9 /Src/Modules/ksh93.c
parent8424fe5e23dbae3983bdb03a91c49f467865fc33 (diff)
downloadzsh-25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c.tar.gz
zsh-25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c.zip
51557: Clarify availability of ksh-mode parameters, improve vi-mode detection.
Diffstat (limited to 'Src/Modules/ksh93.c')
-rw-r--r--Src/Modules/ksh93.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/Modules/ksh93.c b/Src/Modules/ksh93.c
index 9dc75c93c..51999dd71 100644
--- a/Src/Modules/ksh93.c
+++ b/Src/Modules/ksh93.c
@@ -168,8 +168,9 @@ ksh93_wrapper(Eprog prog, FuncWrap w, char *name)
if (zleactive) {
extern mod_import_variable char *curkeymapname; /* XXX */
extern mod_import_variable char *varedarg; /* XXX */
- /* How to distinguish emacs bindings? */
- if (curkeymapname && strcmp(curkeymapname, "main") == 0)
+ /* bindkey -v forces VIMODE so this test is as good as any */
+ if (curkeymapname && isset(VIMODE) &&
+ strcmp(curkeymapname, "main") == 0)
strcpy(sh_edmode, "\e");
else
strcpy(sh_edmode, "");