diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-10-18 09:52:36 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-10-18 09:52:36 +0000 |
commit | 2246999a843ba1e6cf34e41228228609e23e650a (patch) | |
tree | 2b44e0bdd37e94a2a86d9916e54bd468ae6e2078 /Src | |
parent | fb4efa36cf6a9c8b5aec2dcabda9faa03ef767cd (diff) | |
download | zsh-2246999a843ba1e6cf34e41228228609e23e650a.tar.gz zsh-2246999a843ba1e6cf34e41228228609e23e650a.tar.xz zsh-2246999a843ba1e6cf34e41228228609e23e650a.zip |
zsh-workers/8317
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/zle_tricky.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index dd11c2d28..84f61e002 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -4026,7 +4026,7 @@ addmatches(Cadata dat, char **argv) char **aign = NULL, **dparr = NULL, oaq = autoq, *oppre = dat->ppre; char *oqp = qipre, *oqs = qisuf, qc, **disp = NULL; int lpl, lsl, pl, sl, bpl, bsl, bppl = -1, bssl = -1; - int llpl = 0, llsl = 0, nm = mnum, gflags = 0; + int llpl = 0, llsl = 0, nm = mnum, gflags = 0, ohp = haspattern; int oisalt = 0, isalt, isexact, doadd, ois = instring, oib = inbackt; Cline lc = NULL; Cmatch cm; @@ -4333,6 +4333,9 @@ addmatches(Cadata dat, char **argv) qipre = oqp; qisuf = oqs; + if (mnum == nm) + haspattern = ohp; + return (mnum == nm); } @@ -6258,6 +6261,7 @@ static void makecomplistflags(Compctl cc, char *s, int incmd, int compadd) { int t, sf1, sf2, ooffs, um = usemenu, delit, oaw, gflags; + int mn = mnum, ohp = haspattern; char *p, *sd = NULL, *tt, *s1, *s2, *os = dupstring(s); struct cmlist ms; @@ -7173,6 +7177,9 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd) uremnode(ccstack, firstnode(ccstack)); if (cc->matcher) mstack = mstack->next; + + if (mn == mnum) + haspattern = ohp; } /* Invalidate the completion list. */ |