diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2004-09-08 08:24:00 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2004-09-08 08:24:00 +0000 |
commit | 72fdf24448680e1e23cff86e302534b58bc2a442 (patch) | |
tree | 912b2702fa6624362c0d5f7b04785afb57e97acc | |
parent | 91a08a2517309648863773962603f37d789fbde9 (diff) | |
download | zsh-72fdf24448680e1e23cff86e302534b58bc2a442.tar.gz zsh-72fdf24448680e1e23cff86e302534b58bc2a442.tar.xz zsh-72fdf24448680e1e23cff86e302534b58bc2a442.zip |
20320: rewrite of 20318, for sanity.
-rw-r--r-- | Src/builtin.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index a9d9b413e..0a2d55587 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4239,22 +4239,19 @@ bin_eval(UNUSED(char *nam), char **argv, UNUSED(Options ops), UNUSED(int func)) scriptname = "(eval)"; prog = parse_string(zjoin(argv, ' ', 1)); - if (!prog) { - errflag = 0; - scriptname = oscriptname; - ineval = oineval; - return 1; - } + if (prog) { + lastval = 0; - lastval = 0; + execode(prog, 1, 0); - execode(prog, 1, 0); - - if (errflag) { - lastval = errflag; - errflag = 0; + if (errflag) + lastval = errflag; + } else { + lastval = 1; } + + errflag = 0; scriptname = oscriptname; ineval = oineval; |