about summary refs log tree commit diff
path: root/Src
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
parent8424fe5e23dbae3983bdb03a91c49f467865fc33 (diff)
downloadzsh-25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c.tar.gz
zsh-25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c.tar.xz
zsh-25dceb1dea4ee1c23dcc02f3f7f5c0bf345c492c.zip
51557: Clarify availability of ksh-mode parameters, improve vi-mode detection.
Diffstat (limited to 'Src')
-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, "");