summaryrefslogtreecommitdiff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 7ec8afeb6..db70e7d7e 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -58,6 +58,11 @@ mod_export int incompctlfunc;
/**/
mod_export int hascompmod;
+/* Increment for each nested recursive-edit */
+
+/**/
+mod_export int zle_recursive;
+
/* ZLRF_* flags passed to zleread() */
/**/
@@ -1941,6 +1946,8 @@ recursiveedit(UNUSED(char **args))
int locerror;
int q = queue_signal_level();
+ ++zle_recursive;
+
/* zlecore() expects to be entered with signal queue disabled */
dont_queue_signals();
@@ -1950,6 +1957,8 @@ recursiveedit(UNUSED(char **args))
restore_queue_signals(q);
+ --zle_recursive;
+
locerror = errflag ? 1 : 0;
errflag = done = eofsent = 0;