Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: compstate[old_list]



Peter Stephenson wrote:

> I tried to add these lines to the top of _main_complete so that listing
> widgets could be made to use an existing list of completions.
> 
> if [[ $WIDGET = *list* && -n $compconfig[old_list] &&
>   -n $compstate[old_list] &&
>   ( $compconfig[old_list] = always || $compstate[old_list] != shown ) ]]; then
>   compstate[old_list]=keep
>   return
> fi
> 
> But when I start a non-contextual completion, and the list is displayed by
> autolist, and I then type ^D, this doesn't work --- it seems
> $compstate[old_list] is not set.  Is this just me?

This was caused in zle_main.c, which I obviously forgot to change.

Bye
 Sven

diff -u os/Zle/zle_main.c Src/Zle/zle_main.c
--- os/Zle/zle_main.c	Tue Apr 13 09:41:27 1999
+++ Src/Zle/zle_main.c	Mon Apr 19 11:59:59 1999
@@ -579,12 +579,7 @@
 
 	if(!(wflags & ZLE_KEEPSUFFIX))
 	    removesuffix();
-	if(!(wflags & ZLE_MENUCMP) ||
-	   ((wflags & WIDGET_NCOMP) && compwidget != w)) {
-	    /* If we are doing a special completion, and the widget
-	     * is not the one currently in use for special completion,
-	     * we are starting a new completion.
-	     */
+	if(!(wflags & ZLE_MENUCMP)) {
 	    fixsuffix();
 	    invalidatelist();
 	}

--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author