Revert this:
authorKevin Ryde <user42@zip.com.au>
Wed, 8 Sep 2004 01:03:06 +0000 (01:03 +0000)
committerKevin Ryde <user42@zip.com.au>
Wed, 8 Sep 2004 01:03:06 +0000 (01:03 +0000)
(scm_integer_p): +/-inf is not an integer.

libguile/ChangeLog
libguile/numbers.c

index d406a6b..0cc06da 100644 (file)
@@ -8,7 +8,6 @@
 2004-09-07  Kevin Ryde  <user42@zip.com.au>
 
        * numbers.c (scm_integer_expt): Reject exponent +/-inf.
-       (scm_integer_p): +/-inf is not an integer.
        Bug report by Bill Schottstaedt.
 
        * ports.c (scm_getc, scm_lfwrite): Recognise \a \b and \r for port
index 2d52bb0..e486a95 100644 (file)
@@ -3095,8 +3095,7 @@ SCM_DEFINE (scm_integer_p, "integer?", 1, 0, 0,
   if (SCM_COMPLEXP (x))
     return SCM_BOOL_F;
   r = SCM_REAL_VALUE (x);
-  if (xisinf (r))
-    return SCM_BOOL_F;
+  /* +/-inf passes r==floor(r), making those #t */
   if (r == floor (r))
     return SCM_BOOL_T;
   return SCM_BOOL_F;