diff options
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/computil.c | 4 | ||||
-rw-r--r-- | Src/Zle/zle_tricky.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index aed3d9808..e1ce68865 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -812,8 +812,8 @@ ca_get_opt(Cadef d, char *line, int full, char **end) return p; } else { for (p = d->opts; p; p = p->next) - if (p->active && p->args && p->type != CAO_NEXT && - strpfx(p->name, line)) { + if (p->active && ((!p->args || p->type == CAO_NEXT) ? + !strcmp(p->name, line) : strpfx(p->name, line))) { if (end) { int l = strlen(p->name); diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index ebae044b9..be671ab50 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -5452,6 +5452,7 @@ set_comp_sep(void) if (compisuffix) s = dyncat(s, compisuffix); + untokenize(s); return sep_comp_string("", s, lip + lp, 0); } |