diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/builtin.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index e81eed8c0..f7bd2d995 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,9 @@ 2007-12-11 Peter Stephenson <pws@csr.com> + * 24210: Src/builtin.c: "set -o" should abort on failure. + * unposted: Config/version.mk, Completion/Unix/Command/.distfiles: - 4.3.4-dev-4. + Functions/Zle/.distfiles: 4.3.4-dev-4. 2007-12-10 Peter Stephenson <pws@csr.com> diff --git a/Src/builtin.c b/Src/builtin.c index d69ab5591..2e0d249f3 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -567,9 +567,9 @@ bin_set(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) return 0; } if(!(optno = optlookup(*args))) - zwarnnam(nam, "no such option: %s", *args); + zerrnam(nam, "no such option: %s", *args); else if(dosetopt(optno, action, 0)) - zwarnnam(nam, "can't change option: %s", *args); + zerrnam(nam, "can't change option: %s", *args); break; } else if(**args == 'A') { if(!*++*args) @@ -588,13 +588,15 @@ bin_set(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) sort = action ? 1 : -1; else { if (!(optno = optlookupc(**args))) - zwarnnam(nam, "bad option: -%c", **args); + zerrnam(nam, "bad option: -%c", **args); else if(dosetopt(optno, action, 0)) - zwarnnam(nam, "can't change option: -%c", **args); + zerrnam(nam, "can't change option: -%c", **args); } } args++; } + if (errflag) + return 1; doneoptions: inittyptab(); |