]> git.eshelyaron.com Git - emacs.git/commitdiff
Make eql work for bignums
authorTom Tromey <tom@tromey.com>
Sat, 7 Jul 2018 21:32:30 +0000 (15:32 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 13 Jul 2018 04:12:27 +0000 (22:12 -0600)
* src/fns.c (Feql, internal_equal): Handle bignums.

src/fns.c

index ec88f8476c3a5636e7c86a49891c2810263845bc..b14481d0101c87e6d29086b73c74f5f20f1db38d 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -2174,7 +2174,7 @@ DEFUN ("eql", Feql, Seql, 2, 2, 0,
 Floating-point numbers of equal value are `eql', but they may not be `eq'.  */)
   (Lisp_Object obj1, Lisp_Object obj2)
 {
-  if (FLOATP (obj1))
+  if (FLOATP (obj1) || BIGNUMP (obj1))
     return equal_no_quit (obj1, obj2) ? Qt : Qnil;
   else
     return EQ (obj1, obj2) ? Qt : Qnil;
@@ -2322,6 +2322,8 @@ internal_equal (Lisp_Object o1, Lisp_Object o2, enum equal_kind equal_kind,
                  && (XMARKER (o1)->buffer == 0
                      || XMARKER (o1)->bytepos == XMARKER (o2)->bytepos));
        }
+      if (BIGNUMP (o1))
+       return mpz_cmp (XBIGNUM (o1)->value, XBIGNUM (o2)->value) == 0;
       break;
 
     case Lisp_Vectorlike: