From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26917 invoked from network); 16 Jun 2008 08:17:30 -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.6 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; 16 Jun 2008 08:17:30 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 87531 invoked from network); 16 Jun 2008 08:17:26 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 16 Jun 2008 08:17:26 -0000 Received: (qmail 23473 invoked by alias); 16 Jun 2008 08:17:24 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25158 Received: (qmail 23458 invoked from network); 16 Jun 2008 08:17:23 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 16 Jun 2008 08:17:23 -0000 Received: from prunille.vinc17.org (vinc17.pck.nerim.net [213.41.242.187]) by bifrost.dotsrc.org (Postfix) with ESMTP id 6B1928028AC3 for ; Mon, 16 Jun 2008 10:17:17 +0200 (CEST) Received: by prunille.vinc17.org (Postfix, from userid 501) id 0CBFB2349ABF; Mon, 16 Jun 2008 10:17:17 +0200 (CEST) Date: Mon, 16 Jun 2008 10:17:16 +0200 From: Vincent Lefevre To: Zsh hackers list Cc: Bart Schaefer Subject: Re: arithmetic operator precedence Message-ID: <20080616081716.GA20014@prunille.vinc17.org> Mail-Followup-To: Zsh hackers list , Bart Schaefer References: <20080612095723.GF5113@sc.homeunix.net> <20080612144024.542b53ad@news01> <080612074751.ZM8185@torch.brasslantern.com> <20080612150126.GH5113@sc.homeunix.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080612150126.GH5113@sc.homeunix.net> X-Mailer-Info: http://www.vinc17.org/mutt/ User-Agent: Mutt/1.5.18-vl-r22984 (2008-06-11) X-Virus-Scanned: ClamAV 0.92.1/7488/Mon Jun 16 08:06:58 2008 on bifrost X-Virus-Status: Clean On 2008-06-12 16:01:26 +0100, Stephane Chazelas wrote: > I find the zsh precedence more intuitive but that's not of much ditto > help given that I get to use those binary operators mostly only > in C/perl, so I have to know the C precedence anyway. > > And having zsh behaving differently doesn't help at all. I agree. POSIX even requires C-like behavior: http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_04 2.6.4 Arithmetic Expansion Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. The format for arithmetic expansion shall be as follows: $((expression)) The expression shall be treated as if it were in double-quotes, except that a double-quote inside the expression is not treated specially. The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal. Next, the shell shall treat this as an arithmetic expression and substitute the value of the expression. The arithmetic expression shall be processed according to the rules given in Arithmetic ^^^^^^^^^^ Precision and Operations , with the following exceptions: ^^^^^^^^^^^^^^^^^^^^^^^^ (the exceptions are not about precedence), where the link to Arithmetic Precision and Operations is: http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_07_02_01 which corresponds to the ISO C operators. -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)