From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15860 invoked from network); 26 Mar 2006 18:54:39 -0000 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,FORGED_RCVD_HELO autolearn=ham version=3.1.1 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 26 Mar 2006 18:54:39 -0000 Received: (qmail 76298 invoked from network); 26 Mar 2006 18:54:33 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 26 Mar 2006 18:54:33 -0000 Received: (qmail 20456 invoked by alias); 26 Mar 2006 18:54:25 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 10087 Received: (qmail 20446 invoked from network); 26 Mar 2006 18:54:25 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 26 Mar 2006 18:54:25 -0000 Received: (qmail 75034 invoked from network); 26 Mar 2006 18:54:25 -0000 Received: from mta08-winn.ispmail.ntl.com (HELO mtaout02-winn.ispmail.ntl.com) (81.103.221.48) by a.mx.sunsite.dk with SMTP; 26 Mar 2006 18:54:24 -0000 Received: from aamtaout03-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout02-winn.ispmail.ntl.com with ESMTP id <20060326185423.LWUK29040.mtaout02-winn.ispmail.ntl.com@aamtaout03-winn.ispmail.ntl.com>; Sun, 26 Mar 2006 19:54:23 +0100 Received: from pwslaptop.csr.com ([82.6.97.150]) by aamtaout03-winn.ispmail.ntl.com with ESMTP id <20060326185423.QLTB7448.aamtaout03-winn.ispmail.ntl.com@pwslaptop.csr.com>; Sun, 26 Mar 2006 19:54:23 +0100 Received: from pwslaptop.csr.com (pwslaptop.csr.com [127.0.0.1]) by pwslaptop.csr.com (8.13.4/8.13.4) with ESMTP id k2QIsHEN004921; Sun, 26 Mar 2006 19:54:17 +0100 Received: from pwslaptop.csr.com (pws@localhost) by pwslaptop.csr.com (8.13.4/8.13.4/Submit) with ESMTP id k2QIs63D004915; Sun, 26 Mar 2006 19:54:17 +0100 Message-Id: <200603261854.k2QIs63D004915@pwslaptop.csr.com> X-Authentication-Warning: pwslaptop.csr.com: pws owned process doing -bs From: Peter Stephenson To: "Sean B. Palmer" , zsh-users@sunsite.dk Subject: Re: Keyword Aliasing Behaviour In-Reply-To: Message from "Sean B. Palmer" of "Sun, 26 Mar 2006 14:22:32 BST." Date: Sun, 26 Mar 2006 19:54:06 +0100 "Sean B. Palmer" wrote: > Using zsh 4.2.6, I note that keywords can be aliased. For example: > > alias in='test' > > But then this gets expanded when the "in" keyword is used in a case: > > $ case $HOME in *) :;; esac > zsh: parse error near `test' This was certainly considered an error in the case of "for X in", so the behaviour is inconsistent. This fixes the case of "case". Index: Src/parse.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/parse.c,v retrieving revision 1.52 diff -u -r1.52 parse.c --- Src/parse.c 7 Mar 2006 21:31:22 -0000 1.52 +++ Src/parse.c 26 Mar 2006 18:52:11 -0000 @@ -1023,6 +1023,7 @@ par_case(int *complex) { int oecused = ecused, brflag, p, pp, n = 1, type; + int ona, onc; p = ecadd(0); @@ -1033,14 +1034,23 @@ ecstr(tokstr); incmdpos = 1; + ona = noaliases; + onc = nocorrect; + noaliases = nocorrect = 1; yylex(); while (tok == SEPER) yylex(); if (!(tok == STRING && !strcmp(tokstr, "in")) && tok != INBRACE) + { + noaliases = ona; + nocorrect = onc; YYERRORV(oecused); + } brflag = (tok == INBRACE); incasepat = 1; incmdpos = 0; + noaliases = ona; + nocorrect = onc; yylex(); for (;;) { -- Peter Stephenson Web page still at http://www.pwstephenson.fsnet.co.uk/