csh arithmetic bug
Michael Thompson
thompson at dalcs.UUCP
Mon Apr 11 23:31:52 AEST 1988
In article <23570 at ucbvax.BERKELEY.EDU> ph at miro.Berkeley.EDU (Paul Heckbert) writes:
>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.
The following is extracted from the csh man page:
* / %
multiplication, division, remainder (These are right
associative, which can lead to unexpected results.
Group combinations explicitly with parentheses.)
+ -
addition, subtraction (also right associative)
--
<<<<<<******>>>>>>
Michael A. Thompson, Dept. Math, Stats, & C.S., Dalhousie U., Halifax, N.S.
thompson at dalcs.uucp | thompson at cs.dal.cdn | thompson at dal1.bitnet
(902)424-6501
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list