diff options
| author | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2015-10-25 23:42:03 +0900 |
|---|---|---|
| committer | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2015-10-25 23:42:03 +0900 |
| commit | a40417929cb6f94ccd8fb5af78aa47ff69a785c0 (patch) | |
| tree | 081b234df975b0bf5ef6566a3fbf377fa1a50564 /Src/Zle/computil.c | |
| parent | Merge branch 'master' of git://git.code.sf.net/p/zsh/code (diff) | |
| download | zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar.gz zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar.bz2 zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar.lz zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar.xz zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.tar.zst zsh-a40417929cb6f94ccd8fb5af78aa47ff69a785c0.zip | |
36911: '-optarg' should not match optspec '-opt='
Remove the requirement that -xy= should come before -x= in the
list of optspecs passed to _arguments.
Diffstat (limited to 'Src/Zle/computil.c')
| -rw-r--r-- | Src/Zle/computil.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index e5db0867b..db8db88a6 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -1693,10 +1693,13 @@ ca_get_opt(Cadef d, char *line, int full, char **end) for (p = d->opts; p; p = p->next) if (p->active && ((!p->args || p->type == CAO_NEXT) ? !strcmp(p->name, line) : strpfx(p->name, line))) { + int l = strlen(p->name); + if ((p->type == CAO_OEQUAL || p->type == CAO_EQUAL) && + line[l] && line[l] != '=') + continue; + if (end) { /* Return a pointer to the end of the option. */ - int l = strlen(p->name); - if ((p->type == CAO_OEQUAL || p->type == CAO_EQUAL) && line[l] == '=') l++; |
