diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Modules/zutil.c | 6 |
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); |