summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-12-11 14:05:52 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-12-11 14:05:52 +0000
commit04f42fdbdf14924e2e2b8bce4c1d1b4537747676 (patch)
treee4527a76d216f2edc3bbb56e2d3aa14aa3b253d8
parent8718b9bf0973d21b8e33d67b28a67ab0e0153991 (diff)
downloadzsh-04f42fdbdf14924e2e2b8bce4c1d1b4537747676.tar.gz
zsh-04f42fdbdf14924e2e2b8bce4c1d1b4537747676.zip
24210: set -o should abort on failure
-rw-r--r--ChangeLog4
-rw-r--r--Src/builtin.c10
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();