From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26115 invoked from network); 9 Apr 2008 12:17:03 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.4 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 9 Apr 2008 12:17:03 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 9669 invoked from network); 9 Apr 2008 12:16:59 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 9 Apr 2008 12:16:58 -0000 Received: (qmail 10596 invoked by alias); 9 Apr 2008 12:16:56 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 24806 Received: (qmail 10582 invoked from network); 9 Apr 2008 12:16:55 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 9 Apr 2008 12:16:55 -0000 Received: from cluster-g.mailcontrol.com (cluster-g.mailcontrol.com [85.115.41.190]) by bifrost.dotsrc.org (Postfix) with ESMTP id E5DA4802A5F0 for ; Wed, 9 Apr 2008 14:16:50 +0200 (CEST) Received: from cameurexb01.EUROPE.ROOT.PRI ([62.189.241.200]) by rly10g.srv.mailcontrol.com (MailControl) with ESMTP id m39CGJml021771 for ; Wed, 9 Apr 2008 13:16:41 +0100 Received: from news01 ([10.103.143.38]) by cameurexb01.EUROPE.ROOT.PRI with Microsoft SMTPSVC(6.0.3790.3959); Wed, 9 Apr 2008 13:11:59 +0100 Date: Wed, 9 Apr 2008 13:11:59 +0100 From: Peter Stephenson To: zsh-workers Subject: Re: _subscript quotes too much Message-ID: <20080409131159.2e2389c6@news01> In-Reply-To: <237967ef0804090453i19952670ic40093e119bcd983@mail.gmail.com> References: <237967ef0804081708h72b87699n6235099044238a13@mail.gmail.com> <237967ef0804081711t6b4a9d88qa8b5367ba1ba8fb0@mail.gmail.com> <200804090849.m398n4W2012023@news01.csr.com> <20080409120025.5c4fd6f4@news01> <20080409122053.3ddfdc42@news01> <237967ef0804090453i19952670ic40093e119bcd983@mail.gmail.com> Organization: CSR X-Mailer: Claws Mail 3.3.1 (GTK+ 2.12.5; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 09 Apr 2008 12:11:59.0084 (UTC) FILETIME=[E92C62C0:01C89A3A] X-Scanned-By: MailControl A-08-00-04 (www.mailcontrol.com) on 10.71.0.120 X-Virus-Scanned: ClamAV 0.91.2/6682/Wed Apr 9 13:17:55 2008 on bifrost X-Virus-Status: Clean On Wed, 9 Apr 2008 13:53:00 +0200 "Mikael Magnusson" wrote: > Well, > typeset -A hi > hi=(\" hello) > echo $hi[ > > should ideally produce "$hi[\"]" but I don't even know if that's > possible or worth it. :) Or even Double quotes are really hard and I think I'll pretend they don't exist. The fact that foo["]=stuff doesn't work (it's waiting for a closing quote) while foo[\"]=stuff assigns to an element \", including the backslash, doesn't fill me with zeal for handling this in completion. > hi=(\* hello) > echo $hi[ > would produce $hi[(e)*] That's easy. Index: Completion/Zsh/Context/_subscript =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Zsh/Context/_subscript,v retrieving revision 1.13 diff -u -r1.13 _subscript --- Completion/Zsh/Context/_subscript 9 Apr 2008 11:25:41 -0000 1.13 +++ Completion/Zsh/Context/_subscript 9 Apr 2008 12:06:21 -0000 @@ -70,7 +70,7 @@ local suf MATCH MBEGIN MEND local -a keys keys=(${${(kP)compstate[parameter]}//(#m)[\$\\\[\]\(\)\[\{\}]/\\$MATCH}) - + keys=(${keys//#%(#m)[*@]/(e)$MATCH}) [[ "$RBUFFER" != (|\\)\]* ]] && suf="$osuf" _wanted association-keys expl 'association key' \ Index: Doc/Zsh/params.yo =================================================================== RCS file: /cvsroot/zsh/zsh/Doc/Zsh/params.yo,v retrieving revision 1.46 diff -u -r1.46 params.yo --- Doc/Zsh/params.yo 3 Apr 2008 08:46:50 -0000 1.46 +++ Doc/Zsh/params.yo 9 Apr 2008 12:06:23 -0000 @@ -344,8 +344,8 @@ braces (`tt({)' and `tt(})'): they must appear either in balanced pairs or preceded by a backslash, and backslashes that protect parentheses or braces are removed during parsing. This is because parameter expansions -may be surrounded balanced braces, and subscript flags are introduced by -balanced parenthesis. +may be surrounded by balanced braces, and subscript flags are introduced by +balanced parentheses. The second difference is that a double-quote (`tt(")') may appear as part of a subscript expression without being preceded by a backslash, and -- Peter Stephenson Software Engineer CSR PLC, Churchill House, Cambridge Business Park, Cowley Road Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070