diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/compmatch.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c index 884946b97..33b5b8a40 100644 --- a/Src/Zle/compmatch.c +++ b/Src/Zle/compmatch.c @@ -378,9 +378,14 @@ add_match_part(Cmatcher m, char *l, char *w, int wl, matchsubs = matchlastsub = NULL; } /* Store the arguments in the last part-cline. */ - lp->line = l; lp->llen = wl; - lp->word = w; lp->wlen = wl; - lp->orig = o; lp->olen = ol; + if (lp->llen || lp->wlen) { + lp->next = get_cline(l, wl, w, wl, o, ol, CLF_NEW); + lp = lp->next; + } else { + lp->line = l; lp->llen = wl; + lp->word = w; lp->wlen = wl; + lp->orig = o; lp->olen = ol; + } if (o || ol) lp->flags &= ~CLF_NEW; |