about summary refs log tree commit diff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@pws-HP.localdomain>2018-08-16 19:23:13 +0100
committerPeter Stephenson <p.w.stephenson@ntlworld.com>2018-08-17 19:43:17 +0100
commit3c93497eb701d8f220bc32d38e1f12bfb534c390 (patch)
tree5f2418a61f77fa7f28f86441572590ec96aa8222 /Src/Zle/zle_main.c
parent9567bfe061679ebdddd371bb829c004fe6e58588 (diff)
downloadzsh-3c93497eb701d8f220bc32d38e1f12bfb534c390.tar.gz
zsh-3c93497eb701d8f220bc32d38e1f12bfb534c390.tar.xz
zsh-3c93497eb701d8f220bc32d38e1f12bfb534c390.zip
43294: Add ZLE_RECURSIVE parameter.
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;