# HG changeset patch # User Karl Heuer # Date 781483158 0 # Node ID 60542ab81fb1fd5d62c55447b0456ca05b70494d # Parent 0b431684f97b03783efa5cd7f54ad313d283caf7 (Flsh, Fadd1, Fsub1, Flognot): Don't use XFASTINT when negative. diff -r 0b431684f97b -r 60542ab81fb1 src/data.c --- a/src/data.c Thu Oct 06 22:38:08 1994 +0000 +++ b/src/data.c Thu Oct 06 22:39:18 1994 +0000 @@ -1962,9 +1962,9 @@ CHECK_NUMBER (num2, 1); if (XINT (num2) > 0) - XSETINT (val, (unsigned) XFASTINT (num1) << XFASTINT (num2)); + XSETINT (val, (EMACS_UINT) XUINT (num1) << XFASTINT (num2)); else - XSETINT (val, (unsigned) XFASTINT (num1) >> -XINT (num2)); + XSETINT (val, (EMACS_UINT) XUINT (num1) >> -XINT (num2)); return val; } @@ -1983,7 +1983,7 @@ CHECK_NUMBER_COERCE_MARKER (num, 0); #endif /* LISP_FLOAT_TYPE */ - XSETINT (num, XFASTINT (num) + 1); + XSETINT (num, XINT (num) + 1); return num; } @@ -2002,7 +2002,7 @@ CHECK_NUMBER_COERCE_MARKER (num, 0); #endif /* LISP_FLOAT_TYPE */ - XSETINT (num, XFASTINT (num) - 1); + XSETINT (num, XINT (num) - 1); return num; } @@ -2012,7 +2012,7 @@ register Lisp_Object num; { CHECK_NUMBER (num, 0); - XSETINT (num, ~XFASTINT (num)); + XSETINT (num, ~XINT (num)); return num; }