From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3573 invoked from network); 16 Aug 2001 09:53:18 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 16 Aug 2001 09:53:18 -0000 Received: (qmail 13125 invoked by alias); 16 Aug 2001 09:53:12 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15641 Received: (qmail 13113 invoked from network); 16 Aug 2001 09:53:11 -0000 From: martin.ebourne@arcordia.com Subject: Re: PATCH: Re: Delaying menu completion To: Bart Schaefer Cc: zsh-workers@sunsite.dk Date: Thu, 16 Aug 2001 10:51:36 +0100 Message-ID: X-MIMETrack: Serialize by Router on LON-ARCMTA-01/ARCORDIA(Release 5.0.3 (Intl)|21 March 2000) at 08/16/2001 10:51:37 AM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii > } _is_completing() { > } [[ $compstate[old_list] == shown ]] && _completing=1 > } } > } zle -C is-completing complete-word _is_completing > > I'd suggest > _is_completing() { > _completing=$compstate[old_list] > compstate[old_list]=keep > } > > The end result is probably the same, but keeping the old list will mean > that `zle menu-complete' doesn't have to recompute it. (I'm actually > not entirely sure what happens to the list when you invoke a completion > widget from another zle widget, but the doc implies it'll be cleared > when the completion widget finishes if old_list is not keep.) That would all seem to tie in with what I've observed. Certainly making the change you suggested stopped the list from being redrawn. > Also, setting old_list to keep causes the widget to correctly propagate > its exit status, should you end up wanting to test `if zle is-completing' > again at some point. This bit didn't seem to work, but it doesn't matter anyhow. Cheers, Martin