From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11822 invoked from network); 27 Nov 2002 07:08:14 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 27 Nov 2002 07:08:14 -0000 Received: (qmail 11643 invoked by alias); 27 Nov 2002 07:08:08 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 17972 Received: (qmail 11636 invoked from network); 27 Nov 2002 07:08:07 -0000 From: Sven Wischnowsky MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15844.28732.631014.141721@wischnow.berkom.de> Date: Wed, 27 Nov 2002 08:11:56 +0100 To: zsh-workers@sunsite.dk Subject: Re: Overeager completion? In-Reply-To: <15541.1038221965@logica.com> References: <20021123002553.GA16698@lorien.emufarm.org> <15541.1038221965@logica.com> X-Mailer: VM 7.03 under 21.5 (patch 5) "beets" XEmacs Lucid Hi! Oliver Kiddle wrote: > ... > > > Oops. Then, for good measure, hit ^C twice to quit the shell. :) > > That could be a bug. Seems to occur after any ^D used to list choices. Indeed. I think I've tracked it down, but no patch yet. The problem is that getkey() returns EOF and in zle_keymap.c:1289 `c' (the variable holding the code of the character typed last) is reset to `lastc' which, at that time, contains the ^D. So the first ^C erases the line and the second one (where `c' ist again set to the ^D from `lastc') makes the test in zle_main.c:655 be true -- and exit the shell. Maybe we should zero out that `lastc' when we get a ^C around line zle_main.c:600. But I'm not sure whether we should turn `lastc' into a global variable or make getkey() return a special value for that... Bye Sven -- Sven Wischnowsky wischnow@berkom.de