From 254a6e1c922b549f6de5b69c9e6a10ac35317c3d Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Mon, 13 Mar 2000 12:35:42 +0000 Subject: zsh-workers/10112 --- Src/Zle/zle_tricky.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'Src/Zle') diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index 12fd58b4f..464e6607e 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -978,7 +978,7 @@ get_comp_string(void) * this would be to pass the command line through the parser too, * * and get the arguments that way. Maybe in 3.1... */ do { - lincmd = ((incmdpos && !ins) || (oins == 2 && i == 2) || + lincmd = ((incmdpos && !ins && !incond) || (oins == 2 && i == 2) || (ins == 3 && i == 1)); linredir = (inredir && !ins); oins = ins; @@ -1023,7 +1023,7 @@ get_comp_string(void) if (tok == ENDINPUT) break; if ((ins && (tok == DO || tok == SEPER)) || - (ins == 2 && i == 2) || (ins == 3 && i == 3) || + (ins == 2 && i == 2) || (ins == 3 && i == 3) || tok == BAR || tok == AMPER || tok == BARAMP || tok == AMPERBANG || ((tok == DBAR || tok == DAMPER) && !incond)) { @@ -1060,6 +1060,12 @@ get_comp_string(void) inwhat = IN_COND; } else if (linredir) continue; + if (incond) { + if (tok == DBAR) + tokstr = "||"; + else if (tok == DAMPER) + tokstr = "&&"; + } if (!tokstr) continue; /* Hack to allow completion after `repeat n do'. */ -- cgit 1.4.1