From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25674 invoked by alias); 14 May 2011 18:17:21 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 29288 Received: (qmail 22845 invoked from network); 14 May 2011 18:17:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.212.43 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=olh4hs1Egeoo8F14nsnIn6OuMQjv3LOOAX1k1+9p4Pg=; b=aT4fCcaNFlbrK5Uf7zyHWsNUNVsgPvMyST+HGuuNoJQYor+UpUZXC48rWSa8flyGHS pieyiDlr8VA7kE1TAwoHhIt293aMOXnk4pwYIOpk22iTjnIH7G5mRv/RANovEfW/bHwv +PF70wzUVrjIFpaJRCsD/cUlCtPelKk9lllXg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=R99JTn+mfip8Uu12Ldpp6oDKCSHOI2rA5HzwWP8vLMmqrb84/MC/GxvGdlyKQ/vdoV siLZRs3NsPt/vLP5/hY7+f4OCPflI4IfbRW67pnDKF5E0OtOdrNmV48Ibt2axZgRNVl3 18IwPfGrnWaOsoHRmFVFeTp8lOgipeWD+AHUQ= MIME-Version: 1.0 In-Reply-To: <110514110040.ZM14542@torch.brasslantern.com> References: <110513213633.ZM13611@torch.brasslantern.com> <110514110040.ZM14542@torch.brasslantern.com> Date: Sat, 14 May 2011 20:09:16 +0200 Message-ID: Subject: Re: Infinite recursions in math evaluation From: Mikael Magnusson To: Bart Schaefer Cc: zsh workers Content-Type: text/plain; charset=UTF-8 On 14 May 2011 20:00, Bart Schaefer wrote: > On May 14, 11:03am, Mikael Magnusson wrote: > } > } > "The value of $val1" in an arithmetic context is the result of doing > } > arithmetic evaluation on whatever is stored in the parameter. If > } > that's the name of another (or even the same) parameter, then ... > } > } How did you get this from the quoted part? > > I did say it was implicit. :-) > > At each nested level of substitution, the substituted words > undergo all forms of single-word substitution (i.e. not filename > generation), including command substitution, arithmetic expansion > and filename expansion > > In ((var)), "var" is a nested arithmetic expansion. Inside the value > of var, any mention of another bare parameter name is thus also a > nested arithmetic expansion. I can't see how this follows from the above. That whole section is talking about multiple nested ${...} forms specifically, not nested arithmetic expansions. I rather read the arithmetic expansion there to mean that if you write ${$((5 + 3))} it will work, which it does. It doesn't really say anything about what happens in arithmetic expansion itself (does it?). -- Mikael Magnusson