this patch adds a config option LISTALWAYS that if set, makes zsh-4.0.4 always show the complete list if the completion resulted in only a partial completion (to help the user decide what to type next w/o the need for another TAB). lets say i have a directory with 2 entries: opal-3.0.4 opal-4.0 my patched zsh will show the following after i type 'cd oTAB' (%:~/src) cd opal- opal-3.0.4/ opal-4.0/ zsh is great. thanks. jr -- ------------------------------------------------------------ Joel W. Reed 412-257-3881 --------All the simple programs have been written.----------
--- Src/options.c.orig	Mon Jun 25 12:31:19 2001
+++ Src/options.c	Tue Apr 30 15:16:15 2002
@@ -146,6 +146,7 @@ static struct optname optns[] = {
 {NULL, "kshglob",             OPT_EMULATE|OPT_KSH,       KSHGLOB},
 {NULL, "kshoptionprint",      OPT_EMULATE|OPT_KSH,	 KSHOPTIONPRINT},
 {NULL, "kshtypeset",          OPT_EMULATE|OPT_KSH,	 KSHTYPESET},
+{NULL, "listalways",	      OPT_ALL,			 LISTALWAYS},
 {NULL, "listambiguous",	      OPT_ALL,			 LISTAMBIGUOUS},
 {NULL, "listbeep",	      OPT_ALL,			 LISTBEEP},
 {NULL, "listpacked",	      0,			 LISTPACKED},
--- Src/Zle/compresult.c.orig	Mon May 28 07:42:00 2001
+++ Src/Zle/compresult.c	Tue Apr 30 15:17:48 2002
@@ -806,9 +806,9 @@ do_ambiguous(void)
 	 * prefix was inserted, return now, bypassing the list-displaying  *
 	 * code.  On the way, invalidate the list and note that we don't   *
 	 * want to enter an AUTO_MENU imediately.                          */
-	if ((uselist == 3 ||
+	if (!isset(LISTALWAYS) && ((uselist == 3 ||
 	     (!uselist && isset(BASHAUTOLIST) && isset(LISTAMBIGUOUS))) &&
-	    la) {
+	    la)) {
 	    int fc = fromcomp;
 
 	    invalidatelist();
--- Src/zsh.h.orig	Tue Apr 30 15:34:12 2002
+++ Src/zsh.h	Tue Apr 30 15:15:29 2002
@@ -1384,6 +1384,7 @@ enum {
     KSHGLOB,
     KSHOPTIONPRINT,
     KSHTYPESET,
+    LISTALWAYS,
     LISTAMBIGUOUS,
     LISTBEEP,
     LISTPACKED,
Attachment:
pgpxdSqXlcMMI.pgp
Description: PGP signature