summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2016-01-26 22:44:14 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2016-01-27 22:10:38 -0800
commit8ddcdad0c1559612b72b733e907d10806415d4fb (patch)
tree89133ad1d00a8fc5f90d99802402c74704dc58e3
parent25ca90e5abadd83f13e23a9866ec52c98d0b04a7 (diff)
downloadzsh-8ddcdad0c1559612b72b733e907d10806415d4fb.tar.gz
zsh-8ddcdad0c1559612b72b733e907d10806415d4fb.zip
37802: Clarify zparseopts documention. zparseopts "X::" specifier should also look for the optional argument in the word after "-X".
-rw-r--r--ChangeLog5
-rw-r--r--Src/Modules/zutil.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e6b148a9..8a8666c1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,11 @@
2016-01-26 Barton E. Schaefer <schaefer@brasslantern.com>
+ * 37802: Doc/Zsh/mod_zutil.yo: Clarify zparseopts description.
+
+ * 37802: Src/Modules/zutil.c: zparseopts "X::" specifier should
+ also look for the optional argument in the word after "-X".
+
* 37785: Src/params.c: skip autoload parameters for "typeset -p"
2016-01-25 Barton E. Schaefer <schaefer@zsh.org>
diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c
index 376cd8402..d98028a84 100644
--- a/Src/Modules/zutil.c
+++ b/Src/Modules/zutil.c
@@ -1833,7 +1833,8 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
if (o[1]) {
add_opt_val(d, o + 1);
break;
- } else if (!(d->flags & ZOF_OPT)) {
+ } else if (!(d->flags & ZOF_OPT) ||
+ (pp[1] && pp[1][0] != '-')) {
if (!pp[1]) {
zwarnnam(nam, "missing argument for option: %s",
d->name);
@@ -1859,7 +1860,8 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
if (*e)
add_opt_val(d, e);
- else if (!(d->flags & ZOF_OPT)) {
+ else if (!(d->flags & ZOF_OPT) ||
+ (pp[1] && pp[1][0] != '-')) {
if (!pp[1]) {
zwarnnam(nam, "missing argument for option: %s",
d->name);