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