]> git.eshelyaron.com Git - emacs.git/commitdiff
(FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
authorAndreas Schwab <schwab@linux-m68k.org>
Sat, 24 Oct 2009 16:32:06 +0000 (16:32 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Sat, 24 Oct 2009 16:32:06 +0000 (16:32 +0000)
types again.

src/ChangeLog
src/lisp.h

index ff6e0551d9e61722332fd503f296fad46b156d5e..8ff2ec0fa80ab3f277931ab77ef0469268e3c49e 100644 (file)
@@ -1,5 +1,8 @@
 2009-10-24  Andreas Schwab  <schwab@linux-m68k.org>
 
+       * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
+       types again.
+
        * sysdep.c (procfs_ttyname): Fix sprintf format to match argument
        type.
        (system_process_attributes): Likewise.
index 3838aff75317a689b74190e2a2538e9dc83ff1f3..6444aac84d3014cd8fb28670da3d74f5140e8ca0 100644 (file)
@@ -486,11 +486,13 @@ extern size_t pure_size;
    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.  */