diff options
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/computil.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 83c6b8131..cc20c8e6a 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -2730,8 +2730,16 @@ bin_comptry(char *nam, char **args, char *ops, int func) args = arrdup(args); for (p = q = args, all = comptags[lasttaglevel]->all; *p; p++) - if (arrcontains(all, *p)) - *q++ = *p; + if (arrcontains(all, *p)) { + Ctset s; + + for (s = comptags[lasttaglevel]->sets; s; s = s->next) + if (arrcontains(s->tags, *p)) + break; + + if (!s) + *q++ = *p; + } *q = NULL; if (*args) { |