about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Doc/Zsh/compwid.yo2
-rw-r--r--Src/Zle/compcore.c2
-rw-r--r--Src/Zle/computil.c6
4 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3697bc10e..b18bffad1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2001-07-25  Sven Wischnowsky  <wischnow@zsh.org>
 
+	* 15482: Doc/Zsh/compwid.yo, Src/Zle/compcore.c,
+	Src/Zle/computil.c: fixlet for 15477, don't let it remove
+	consecutive dummy matches
+
 	* 15477: Completion/Base/Utility/_describe, Doc/Zsh/compwid.yo,
 	Src/Zle/comp.h, Src/Zle/compcore.c, Src/Zle/complete.c,
 	Src/Zle/complist.c, Src/Zle/compresult.c, Src/Zle/computil.c:
diff --git a/Doc/Zsh/compwid.yo b/Doc/Zsh/compwid.yo
index e3f43e382..687954cb5 100644
--- a/Doc/Zsh/compwid.yo
+++ b/Doc/Zsh/compwid.yo
@@ -673,7 +673,7 @@ completion or menu selection.  This makes empty matches only useful to
 format completion lists and to make explanatory string be shown in
 completion lists (since empty matches can be given display strings
 with the tt(-d) option).  And because all but one empty string would
-otherwise be removed, this option implies the tt(-V) and tt(-1)
+otherwise be removed, this option implies the tt(-V) and tt(-2)
 options (even if an explicit tt(-J) option is given).
 )
 xitem(tt(-))
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
index 00dfea935..d3f720478 100644
--- a/Src/Zle/compcore.c
+++ b/Src/Zle/compcore.c
@@ -1637,7 +1637,7 @@ addmatches(Cadata dat, char **argv)
 	return 1;
     }
     if (dat->dummies)
-        dat->aflags = dat->aflags | CAF_NOSORT | CAF_UNIQALL;
+        dat->aflags = (dat->aflags | CAF_NOSORT | CAF_UNIQCON) & ~CAF_UNIQALL;
     for (bp = brbeg; bp; bp = bp->next)
 	bp->curpos = ((dat->aflags & CAF_QUOTE) ? bp->pos : bp->qpos);
     for (bp = brend; bp; bp = bp->next)
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index 7548a87bf..902bb123c 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -208,6 +208,8 @@ cd_prep()
             for (str = set->strs; str; str = str->next) {
                 if (str->kind != 1) {
                     if (!str->kind && str->desc) {
+                        if (str->len > wids[0])
+                            wids[0] = str->len;
                         str->other = NULL;
                         *strp++ = str;
                     }
@@ -536,7 +538,7 @@ cd_get(char **params)
                 if (dp[0][0] == '-' && dp[0][1] == 'J')
                     break;
             if (*dp) {
-                char *s = tricat("-1V", "", dp[0] + 2);
+                char *s = tricat("-2V", "", dp[0] + 2);
 
                 zsfree(*dp);
                 *dp = s;
@@ -545,7 +547,7 @@ cd_get(char **params)
                         (arrlen(opts + 1) + 1) * sizeof(char *));
                 
             } else
-                opts[0] = ztrdup("-1V-default-");
+                opts[0] = ztrdup("-2V-default-");
             csl = "packed rows";
             break;