diff src/lisp.h @ 105747:35e7b757c606

(FIXNUM_OVERFLOW_P): Fix last change to handle unsigned types again.
author Andreas Schwab <schwab@linux-m68k.org>
date Sat, 24 Oct 2009 16:32:06 +0000
parents 39a36d9d9d93
children e0a471c09d45
line wrap: on
line diff
--- a/src/lisp.h	Sat Oct 24 14:01:03 2009 +0000
+++ b/src/lisp.h	Sat Oct 24 16:32:06 2009 +0000
@@ -486,11 +486,13 @@
    I.e. (x & INTMASK) == XUINT (make_number (x)).  */
 #define INTMASK ((((EMACS_INT) 1) << VALBITS) - 1)
 
-/* Value is non-zero if I doesn't fit into a Lisp fixnum.  */
+/* Value is non-zero if I doesn't fit into a Lisp fixnum.  It is
+   written this way so that it also works if I is of unsigned
+   type.  */
 
 #define FIXNUM_OVERFLOW_P(i) \
   ((i) > MOST_POSITIVE_FIXNUM \
-   || (i) < MOST_NEGATIVE_FIXNUM)
+   || ((i) < 0 && (i) < MOST_NEGATIVE_FIXNUM))
 
 /* Extract a value or address from a Lisp_Object.  */