aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Tromey2018-07-07 15:32:30 -0600
committerTom Tromey2018-07-12 22:12:27 -0600
commit580d173b9a7db78f6d62972ef8e943d31dde5c9d (patch)
tree6bfb857bfdded11f356f11424b11131a0a9d6bba /src
parentb2f3f4ee29ba8510d3cad8025d9ce2c2014b1b7f (diff)
downloademacs-580d173b9a7db78f6d62972ef8e943d31dde5c9d.tar.gz
emacs-580d173b9a7db78f6d62972ef8e943d31dde5c9d.zip
Make eql work for bignums
* src/fns.c (Feql, internal_equal): Handle bignums.
Diffstat (limited to 'src')
-rw-r--r--src/fns.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/fns.c b/src/fns.c
index ec88f8476c3..b14481d0101 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2174,7 +2174,7 @@ DEFUN ("eql", Feql, Seql, 2, 2, 0,
2174Floating-point numbers of equal value are `eql', but they may not be `eq'. */) 2174Floating-point numbers of equal value are `eql', but they may not be `eq'. */)
2175 (Lisp_Object obj1, Lisp_Object obj2) 2175 (Lisp_Object obj1, Lisp_Object obj2)
2176{ 2176{
2177 if (FLOATP (obj1)) 2177 if (FLOATP (obj1) || BIGNUMP (obj1))
2178 return equal_no_quit (obj1, obj2) ? Qt : Qnil; 2178 return equal_no_quit (obj1, obj2) ? Qt : Qnil;
2179 else 2179 else
2180 return EQ (obj1, obj2) ? Qt : Qnil; 2180 return EQ (obj1, obj2) ? Qt : Qnil;
@@ -2322,6 +2322,8 @@ internal_equal (Lisp_Object o1, Lisp_Object o2, enum equal_kind equal_kind,
2322 && (XMARKER (o1)->buffer == 0 2322 && (XMARKER (o1)->buffer == 0
2323 || XMARKER (o1)->bytepos == XMARKER (o2)->bytepos)); 2323 || XMARKER (o1)->bytepos == XMARKER (o2)->bytepos));
2324 } 2324 }
2325 if (BIGNUMP (o1))
2326 return mpz_cmp (XBIGNUM (o1)->value, XBIGNUM (o2)->value) == 0;
2325 break; 2327 break;
2326 2328
2327 case Lisp_Vectorlike: 2329 case Lisp_Vectorlike: