Mercurial > emacs
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. */