diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2011-02-22 20:09:20 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2011-02-22 20:09:20 +0000 |
commit | dbbcbf67cb8a330e5c7d8a40ed4152a53db6b5f8 (patch) | |
tree | 41ec7fbda389e5ec8d04a8c3ad21b27f01659912 /Src/builtin.c | |
parent | 73ebca4fe92767665422e7fd5dc15032add389b4 (diff) | |
download | zsh-dbbcbf67cb8a330e5c7d8a40ed4152a53db6b5f8.tar.gz zsh-dbbcbf67cb8a330e5c7d8a40ed4152a53db6b5f8.tar.xz zsh-dbbcbf67cb8a330e5c7d8a40ed4152a53db6b5f8.zip |
28791: exit on errors with special builtins with POSIXBUILTINS
Diffstat (limited to 'Src/builtin.c')
-rw-r--r-- | Src/builtin.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index a85a49a20..aa87dfb7d 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4821,8 +4821,14 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) freearray(pparams); pparams = old; } - if (ret == SOURCE_NOT_FOUND) - zwarnnam(name, "%e: %s", errno, enam); + if (ret == SOURCE_NOT_FOUND) { + if (isset(POSIXBUILTINS)) { + /* hard error in POSIX (we'll exit later) */ + zerrnam(name, "%e: %s", errno, enam); + } else { + zwarnnam(name, "%e: %s", errno, enam); + } + } zsfree(arg0); if (old0) { zsfree(argzero); |