about summary refs log tree commit diff
path: root/Src/prompt.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2014-08-30 14:11:58 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2014-08-30 14:11:58 -0700
commit5b57f28256d30ebb4a2a13e1128184aec32956de (patch)
treee3ac0ef15c81803abbe62f782e6814ca823f8184 /Src/prompt.c
parente01739d2b73153823cb5689ec787202f4d321e2c (diff)
downloadzsh-5b57f28256d30ebb4a2a13e1128184aec32956de.tar.gz
zsh-5b57f28256d30ebb4a2a13e1128184aec32956de.tar.xz
zsh-5b57f28256d30ebb4a2a13e1128184aec32956de.zip
33070: add %(e..) based on %e
Diffstat (limited to 'Src/prompt.c')
-rw-r--r--Src/prompt.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Src/prompt.c b/Src/prompt.c
index 47625351f..9ed6c54d5 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -372,6 +372,17 @@ putpromptchar(int doprint, int endchar, unsigned int *txtchangep)
 		    if (t0 >= arg)
 			test = 1;
 		    break;
+		case 'e':
+		    {
+			Funcstack fsptr = funcstack;
+			test = arg;
+			while (fsptr && test > 0) {
+			    test--;
+			    fsptr = fsptr->prev;
+			}
+			test = !test;
+		    }
+		    break;
 		case 'L':
 		    if (shlvl >= arg)
 			test = 1;