about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2001-10-08 08:13:11 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2001-10-08 08:13:11 +0000
commitcc0d931682835347316144a3889fbf35e6d6459b (patch)
treed44ca57420c50af42aee06df6fc525dec16c95cc /Src/exec.c
parentb109834dc2d3e86ac4bed09a7957d6ba9d2f517a (diff)
downloadzsh-cc0d931682835347316144a3889fbf35e6d6459b.tar.gz
zsh-cc0d931682835347316144a3889fbf35e6d6459b.tar.xz
zsh-cc0d931682835347316144a3889fbf35e6d6459b.zip
15931: EXIT traps from exit in subshell; 15965: glob -> zglob
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index c55494b96..7bc341116 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1757,7 +1757,7 @@ execcmd(Estate state, int input, int output, int how, int last1)
 	    if (!(cflags & BINF_NOGLOB))
 		while (!checked && !errflag && args && nonempty(args) &&
 		       has_token((char *) peekfirst(args)))
-		    glob(args, firstnode(args), 0);
+		    zglob(args, firstnode(args), 0);
 	    else if (!unglobbed) {
 		for (node = firstnode(args); node; incnode(node))
 		    untokenize((char *) getdata(node));
@@ -2490,6 +2490,10 @@ fixfds(int *save)
 }
 
 /**/
+int
+forklevel;
+
+/**/
 static void
 entersubsh(int how, int cl, int fake)
 {
@@ -2557,6 +2561,7 @@ entersubsh(int how, int cl, int fake)
     if (cl)
 	clearjobtab();
     times(&shtms);
+    forklevel = locallevel;
 }
 
 /* close internal shell fds */