From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by melb.werple.net.au (8.7.5/8.7.3/2) with ESMTP id DAA03519 for ; Wed, 10 Jul 1996 03:10:30 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id NAA25103; Tue, 9 Jul 1996 13:03:48 -0400 (EDT) Resent-Date: Tue, 9 Jul 1996 13:03:48 -0400 (EDT) From: Zoltan Hidvegi Message-Id: <199607091703.TAA16652@bolyai.cs.elte.hu> Subject: Re: history To: schizo@simons-rock.edu (Clint Adams) Date: Tue, 9 Jul 1996 19:03:22 +0200 (MET DST) Cc: zsh-workers@math.gatech.edu In-Reply-To: <199607090350.XAA00569@betrayer.simons-rock.edu> from Clint Adams at "Jul 8, 96 11:50:50 pm" Organization: Dept. of Comp. Sci., Eotvos University, Budapest, Hungary Phone: (36 1)2669833 ext: 2667, home phone: (36 1) 2752368 X-Mailer: ELM [version 2.4ME+ PL16 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"t1F2e2.0.686.p3fun"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/1592 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > zsh 1% zsh > > zsh/2 1% !popopzsh: 543 segmentation fault zsh > > zsh 2 [139 SEGV] % !po > zsh: event not found: po Completing words containing history bangchars is buggy. The patch below should fix that. Zoltan *** Src/zle_tricky.c 1996/07/09 13:37:36 2.57 --- Src/zle_tricky.c 1996/07/09 16:34:32 *************** *** 930,935 **** --- 930,936 ---- lexsave(); inpush(dupstrspace((char *) linptr), 0); strinbeg(); + stophist = 2; i = tt0 = cp = rd = 0; /* This loop is possibly the wrong way to do this. It goes through * *************** *** 1147,1166 **** } chuck(p--); } - if (unset(NOBANGHIST)) { - /* In qword bangchars (normally `!') are quoted if nobanghist is * - * unset. This code is not in line with the current bang quoting * - * rules. We really need to get those sorted out. */ - q = tt = ncalloc(2 * strlen(qword) + 1); - for (p = qword; *p; p++) { - if (*p == (char)bangchar) - *q++ = '\\'; - *q++ = *p; - } - *q = '\0'; - zsfree(qword); - qword = ztrdup(tt); - } } LASTALLOC; lexrestore();