]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 May 2011 07:12:24 +0000 (00:12 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 May 2011 07:12:24 +0000 (00:12 -0700)
src/ChangeLog
src/lisp.h

index 5518531bea8369222dfe120e85ad51fb5bfd5f26..67eaa09bf0244527454ad42a748a780ff91844a2 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.
+
 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        * data.c: Avoid integer truncation in expressions involving floats.
index b2beeffa79e8e8500d9f225d901d4179fd61cb76..6618a754145cd274f1cb6c11823b79cc280cf190 100644 (file)
@@ -544,11 +544,10 @@ extern Lisp_Object make_number (EMACS_INT);
 
 /* 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.  */
+   type or if I is a NaN.  */
 
 #define FIXNUM_OVERFLOW_P(i) \
-  ((i) > MOST_POSITIVE_FIXNUM \
-   || ((i) < 0 && (i) < MOST_NEGATIVE_FIXNUM))
+  (! ((0 <= (i) || MOST_NEGATIVE_FIXNUM <= (i)) && (i) <= MOST_POSITIVE_FIXNUM))
 
 /* Extract a value or address from a Lisp_Object.  */