diff options
Diffstat (limited to 'Src/Zle/compcore.c')
-rw-r--r-- | Src/Zle/compcore.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c index d6f21f46d..c2767f90c 100644 --- a/Src/Zle/compcore.c +++ b/Src/Zle/compcore.c @@ -2376,14 +2376,15 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) /* Mark those, that would show the same string in the list. */ for (; bp[1] && !(*ap)->disp && !(bp[1])->disp && !strcmp((*ap)->str, (bp[1])->str); bp++) - (bp[1])->flags |= CMF_NOLIST; + (bp[1])->flags |= CMF_MULT; + (*ap)->flags |= CMF_FMULT; } *cp = NULL; } for (ap = rp; *ap; ap++) { if ((*ap)->disp && ((*ap)->flags & CMF_DISPLINE)) ll++; - if ((*ap)->flags & CMF_NOLIST) + if ((*ap)->flags & (CMF_NOLIST | CMF_MULT)) nl++; } } else { @@ -2404,14 +2405,15 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) ap = bp; for (; bp[1] && !(*ap)->disp && !(bp[1])->disp && !strcmp((*ap)->str, (bp[1])->str); bp++) - (bp[1])->flags |= CMF_NOLIST; + (bp[1])->flags |= CMF_MULT; + (*ap)->flags |= CMF_FMULT; } *cp = NULL; } for (ap = rp; *ap; ap++) { if ((*ap)->disp && ((*ap)->flags & CMF_DISPLINE)) ll++; - if ((*ap)->flags & CMF_NOLIST) + if ((*ap)->flags & (CMF_NOLIST | CMF_MULT)) nl++; } } |