diff options
Diffstat (limited to 'Src/Zle/complist.c')
-rw-r--r-- | Src/Zle/complist.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index 14cb16d4c..e38ffe33b 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -1042,9 +1042,9 @@ compprintlist(int showall) lastused = 1; } while (*e) { - if ((*e)->count && + if (((*e)->count || (*e)->always) && (!listdat.onlyexpl || - (listdat.onlyexpl & ((*e)->count > 0 ? 1 : 2)))) { + (listdat.onlyexpl & ((*e)->always > 0 ? 2 : 1)))) { if (pnl) { if (dolistnl(ml) && compprintnl(ml)) goto end; @@ -1058,8 +1058,9 @@ compprintlist(int showall) } if (mlbeg < 0 && mfirstl < 0) mfirstl = ml; - l = compprintfmt((*e)->str, (*e)->count, dolist(ml), 1, - ml, &stop); + l = compprintfmt((*e)->str, + ((*e)->always ? -1 : (*e)->count), + dolist(ml), 1, ml, &stop); if (mselect >= 0) { int mm = (mcols * ml), i; |