From edf58408576053fbe1592f807fc4b28ee5ed4366 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Sat, 14 Aug 1999 16:34:52 +0000 Subject: manual/7436 --- Src/exec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Src/exec.c') diff --git a/Src/exec.c b/Src/exec.c index eab846540..a7a861f12 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1522,7 +1522,7 @@ execcmd(Cmd cmd, int input, int output, int how, int last1) /* Current shell should not fork unless the * * exec occurs at the end of a pipeline. */ - if ((cflags & BINF_EXEC) && last1 == 2) + if ((cflags & BINF_EXEC) && last1) flags |= CFLAG_EXEC; /* Empty command */ @@ -2053,8 +2053,9 @@ execcmd(Cmd cmd, int input, int output, int how, int last1) restore_params(restorelist, removelist); } else { - if (flags & CFLAG_EXEC) { + if (!forked) setiparam("SHLVL", --shlvl); + if (flags & CFLAG_EXEC) { /* If we are exec'ing a command, and we are not * * in a subshell, then save the history file. */ if (!subsh && isset(RCS) && interact && !nohistsave) -- cgit 1.4.1