From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29948 invoked from network); 19 Jun 2008 09:58:26 -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; 19 Jun 2008 09:58:26 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 99529 invoked from network); 19 Jun 2008 09:58:24 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 19 Jun 2008 09:58:24 -0000 Received: (qmail 25805 invoked by alias); 19 Jun 2008 09:58:22 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25214 Received: (qmail 25793 invoked from network); 19 Jun 2008 09:58:21 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 19 Jun 2008 09:58:21 -0000 Received: from cluster-g.mailcontrol.com (cluster-g.mailcontrol.com [208.87.233.190]) by bifrost.dotsrc.org (Postfix) with ESMTPS id E00858084FA0 for ; Thu, 19 Jun 2008 11:58:15 +0200 (CEST) Received: from cameurexb01.EUROPE.ROOT.PRI ([193.128.72.68]) by rly17g.srv.mailcontrol.com (MailControl) with ESMTP id m5J9vjxv002163 for ; Thu, 19 Jun 2008 10:58:11 +0100 Received: from news01.csr.com ([10.103.143.38]) by cameurexb01.EUROPE.ROOT.PRI with Microsoft SMTPSVC(6.0.3790.3959); Thu, 19 Jun 2008 10:58:07 +0100 Received: from news01.csr.com (localhost.localdomain [127.0.0.1]) by news01.csr.com (8.14.2/8.13.4) with ESMTP id m5J9w7Wp006698 for ; Thu, 19 Jun 2008 10:58:07 +0100 Received: from csr.com (pws@localhost) by news01.csr.com (8.14.2/8.14.2/Submit) with ESMTP id m5J9w7BJ006695 for ; Thu, 19 Jun 2008 10:58:07 +0100 Message-Id: <200806190958.m5J9w7BJ006695@news01.csr.com> X-Authentication-Warning: news01.csr.com: pws owned process doing -bs To: zsh-workers@sunsite.dk Subject: Re: arithmetic operator precedence In-reply-to: References: <20080612095723.GF5113@sc.homeunix.net> <20080616080726.GP10734@prunille.vinc17.org> <20080616144211.276fb0e3@pws-pc> <2d460de70806170219k12ff4cadn441b52c48bf8076f@mail.gmail.com> <20080617094509.GC5016@sc.homeunix.net> <2d460de70806170324o5a44609x9383cc2445d67dd6@mail.gmail.com> <20080617103829.GD5016@sc.homeunix.net> <20080617114340.398c731f@news01> <20080617112815.GF10734@prunille.vinc17.org> <200806171146.m5HBkhfR013230@news01.csr.com> Comments: In-reply-to "Jun T." message dated "Thu, 19 Jun 2008 18:37:17 +0900." Date: Thu, 19 Jun 2008 10:58:07 +0100 From: Peter Stephenson X-OriginalArrivalTime: 19 Jun 2008 09:58:07.0278 (UTC) FILETIME=[F92C4CE0:01C8D1F2] X-Scanned-By: MailControl A-08-50-03 (www.mailcontrol.com) on 10.71.0.127 X-Virus-Scanned: ClamAV 0.92.1/7505/Thu Jun 19 08:25:19 2008 on bifrost X-Virus-Status: Clean "Jun T." wrote: > I think it would be sufficient to add to the man page something like > "-3**2 gives 9, not -9, in zsh and many other shells. > Be sure to use parentheses -(3**2) if you want -9." That seems a good idea in any case. Index: Doc/Zsh/arith.yo =================================================================== RCS file: /cvsroot/zsh/zsh/Doc/Zsh/arith.yo,v retrieving revision 1.13 diff -u -r1.13 arith.yo --- Doc/Zsh/arith.yo 12 Jun 2008 13:45:05 -0000 1.13 +++ Doc/Zsh/arith.yo 19 Jun 2008 09:56:13 -0000 @@ -93,8 +93,9 @@ cindex(operators, arithmetic) An arithmetic expression uses nearly the same syntax and associativity of expressions as in C. -The following operators are supported (listed in decreasing order -of precedence): + +In the native mode of operation, the following operators are supported +(listed in decreasing order of precedence): startsitem() sitem(tt(PLUS() - ! ~ PLUS()PLUS() --))(unary plus/minus, logical NOT, complement, {pre,post}{in,de}crement) @@ -142,6 +143,10 @@ sitem(tt(,))(comma operator) endsitem() +Note the precedence of exponentiation in both cases is below +that of unary operators, hence `tt(-3**2)' evaluates as `tt(9)', not +tt(-9). Use parentheses where necessary: `tt(-(3**2))'. + cindex(mathematical functions, use of) cindex(functions, math, use of) Mathematical functions can be called with the syntax -- Peter Stephenson Software Engineer CSR PLC, Churchill House, Cambridge Business Park, Cowley Road Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070