From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22231 invoked from network); 25 May 1999 08:40:24 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 25 May 1999 08:40:24 -0000 Received: (qmail 28443 invoked by alias); 25 May 1999 08:40:18 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6344 Received: (qmail 28436 invoked from network); 25 May 1999 08:40:18 -0000 Date: Tue, 25 May 1999 10:39:24 +0200 (MET DST) Message-Id: <199905250839.KAA03894@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk CC: Glenn Trigg In-reply-to: Glenn Trigg's message of Mon, 24 May 1999 11:29:24 +1000 Subject: PATCH: was: Re: zsh bug Glenn Trigg wrote: > The wierd behaviour happens when I do the following: > > kill -1 $(cat /var/run/ine > > when I hit tab there, the line completes as: > > kill -1 $(cat /var/run/ineetd.pid > > I.e I get the extra letter which is the letter at the end when I hit > tab. This patch is for my modified 3.0.6. The problem was that 1) it didn't remember that on the first run through the loop in get_comp_string() the addedx was removed and that it didn't use the linptr it had modified for the second run. This isn't needed for 3.1.5 because there I cleaned up handling of $(...) some time ago (and for other reasons). Bye Sven --- Src/zle_tricky.c Tue May 25 10:32:35 1999 +++ Src/zle_tricky.c.old Mon May 10 13:21:55 1999 @@ -1069,14 +1069,13 @@ we = ll; tt = (char *)line; if (tmp) { - linptr += tmp - (char *) line; line = (unsigned char *)tmp; ll = strlen((char *)line); - addedx = 0; } if (t0 != STRING && inwhat != IN_MATH) { if (tmp) { tmp = NULL; + linptr = (char *)line; lexrestore(); goto start; } -- Sven Wischnowsky wischnow@informatik.hu-berlin.de