Path: utzoo!mnetor!uunet!husc6!bbn!bbn.com!mesard From: mesard@bbn.com (Wayne Mesard) Newsgroups: comp.bugs.4bsd Subject: Re: csh arithmetic bug Message-ID: <23216@bbn.COM> Date: 11 Apr 88 13:27:09 GMT References: <23570@ucbvax.BERKELEY.EDU> Sender: news@bbn.COM Lines: 31 From article <23570@ucbvax.BERKELEY.EDU>, by ph@miro.Berkeley.EDU (Paul Heckbert): > Beware of doing arithmetic in csh, it's buggy! > > The command @ x = 0 - 1 + 2 sets x to -3 (should be 1) > > The command @ x = 0 - 1 - 2 sets x to 1 (should be -3) > > (same error with Sun UNIX 3.5 on Sun3 and 4.3 BSD on Vax780) > > csh must be parsing right-associatively by mistake! > Division has a similar problem. > > It's hard to believe that a bug like this would persist for 8 years. > From csh(1): :Expressions and Operators :[...] : * / % : multiplication, division, remainder (These are right : associative, which can lead to unexpected results. : Group combinations explicitly with parentheses.) : + - : addition, subtraction (also right associative) It looks like a bug, it acts like a bug, but if it's documented... -- unsigned *Wayne_Mesard(); MESARD@BBN.COM BBN Labs, Cambridge, MA