From 47f979381ff34e83ff006897ce52c3692cd06c05 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Wed, 17 Oct 2001 11:07:47 +0000 Subject: various old patches ported back --- Src/Zle/compcore.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Src/Zle') diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c index 97ed6d58f..94cb914d8 100644 --- a/Src/Zle/compcore.c +++ b/Src/Zle/compcore.c @@ -2641,6 +2641,8 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) } } else { if (!(flags & CGF_UNIQALL) && !(flags & CGF_UNIQCON)) { + int dup; + for (ap = rp; *ap; ap++) { for (bp = cp = ap + 1; *bp; bp++) { if (!matcheq(*ap, *bp)) @@ -2649,6 +2651,17 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) n--; } *cp = NULL; + if (!(*ap)->disp) { + for (dup = 0, bp = ap + 1; *bp; bp++) + if (!(*bp)->disp && + !((*bp)->flags & CMF_MULT) && + !strcmp((*ap)->str, (*bp)->str)) { + (*bp)->flags |= CMF_MULT; + dup = 1; + } + if (dup) + (*ap)->flags |= CMF_FMULT; + } } } else if (!(flags & CGF_UNIQCON)) { int dup; -- cgit 1.4.1