From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28242 invoked from network); 29 Sep 2008 20:41:19 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 29 Sep 2008 20:41:19 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 93337 invoked from network); 29 Sep 2008 20:41:12 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 29 Sep 2008 20:41:12 -0000 Received: (qmail 2196 invoked by alias); 29 Sep 2008 20:41:05 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25774 Received: (qmail 2180 invoked from network); 29 Sep 2008 20:41:04 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 29 Sep 2008 20:41:04 -0000 Received: from mtaout01-winn.ispmail.ntl.com (mtaout01-winn.ispmail.ntl.com [81.103.221.47]) by bifrost.dotsrc.org (Postfix) with ESMTP id 14B418030847 for ; Mon, 29 Sep 2008 22:41:00 +0200 (CEST) Received: from aamtaout01-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout01-winn.ispmail.ntl.com with ESMTP id <20080929204100.GNFX2285.mtaout01-winn.ispmail.ntl.com@aamtaout01-winn.ispmail.ntl.com> for ; Mon, 29 Sep 2008 21:41:00 +0100 Received: from pws-pc ([81.107.43.40]) by aamtaout01-winn.ispmail.ntl.com with ESMTP id <20080929204100.SHFC5827.aamtaout01-winn.ispmail.ntl.com@pws-pc> for ; Mon, 29 Sep 2008 21:41:00 +0100 Date: Mon, 29 Sep 2008 21:40:43 +0100 From: Peter Stephenson To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: PATCH: crash completing after ~[] Message-ID: <20080929214043.740e5efc@pws-pc> In-Reply-To: <11725.1222709667@csr.com> References: <11725.1222709667@csr.com> X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.12; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Cloudmark-Analysis: v=1.0 c=1 a=VOiK_j7lQ-8A:10 a=3LrrNLJ29BIA:10 a=NLZqzBF-AAAA:8 a=6QQNfPcbaF9xAp-f_P8A:9 a=zcxcdTmq4ZWb0lcWFX4A:7 a=394GrmyKBgBpN9McniCkLbnStCcA:4 a=Shd8Sdw-9eQA:10 a=_dQi-Dcv4p4A:10 a=LY0hPdMaydYA:10 X-Virus-Scanned: ClamAV 0.92.1/8353/Mon Sep 29 11:57:09 2008 on bifrost X-Virus-Status: Clean On Mon, 29 Sep 2008 18:34:27 +0100 Peter Stephenson wrote: > Index: Src/params.c > =================================================================== > RCS file: /cvsroot/zsh/zsh/Src/params.c,v > retrieving revision 1.146 > diff -u -r1.146 params.c > --- Src/params.c 13 Sep 2008 08:19:19 -0000 1.146 > +++ Src/params.c 29 Sep 2008 17:29:49 -0000 > @@ -1302,6 +1302,8 @@ > > if (v->isarr) { > if (ishash) { > + if (!pprog) > + return 1; > scanprog = pprog; > scanstr = s; > if (keymatch) Oops. pprog should be NULL in some cases. Index: Src/params.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/params.c,v retrieving revision 1.147 diff -u -r1.147 params.c --- Src/params.c 29 Sep 2008 17:39:39 -0000 1.147 +++ Src/params.c 29 Sep 2008 20:40:20 -0000 @@ -1302,16 +1302,18 @@ if (v->isarr) { if (ishash) { - if (!pprog) - return 1; scanprog = pprog; scanstr = s; if (keymatch) v->isarr |= SCANPM_KEYMATCH; - else if (ind) - v->isarr |= SCANPM_MATCHKEY; - else - v->isarr |= SCANPM_MATCHVAL; + else { + if (!pprog) + return 1; + if (ind) + v->isarr |= SCANPM_MATCHKEY; + else + v->isarr |= SCANPM_MATCHVAL; + } if (down) v->isarr |= SCANPM_MATCHMANY; if ((ta = getvaluearr(v)) && -- Peter Stephenson Web page now at http://homepage.ntlworld.com/p.w.stephenson/