]> git.eshelyaron.com Git - emacs.git/commit
Make bignums work better when EMACS_INT is larger than long
authorAndy Moreton <andrewjmoreton@gmail.com>
Sat, 4 Aug 2018 16:28:13 +0000 (10:28 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 4 Aug 2018 16:28:13 +0000 (10:28 -0600)
commitbc8ff54efee05f4a2769be32046866ed1e152b41
treec6dac43f3b9abfc6bde54a9d245c04e5dbb360d5
parent76715f8921dca740880cd22c644a6328cd810846
Make bignums work better when EMACS_INT is larger than long

* lisp/international/ccl.el (ccl-fixnum): New function.
(ccl-embed-data, ccl-embed-current-address, ccl-dump): Use it.
* src/alloc.c (make_number): Handle case where EMACS_INT is
larger than long.
* src/data.c (bignumcompare): Handle case where EMACS_INT is
larger than long.
(arith_driver): Likewise.  Coerce markers.
(float_arith_driver): Coerce markers.
(Flogcount): Use mpz_sgn.
(ash_lsh_impl): Fix bugs.
(Fsub1): Fix underflow check.
* src/lisp.h (NUMBERP): Don't check BIGNUMP.
(CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER): Fix indentation.
* test/lisp/international/ccl-tests.el: New file.
lisp/international/ccl.el
src/alloc.c
src/data.c
src/lisp.h
test/lisp/international/ccl-tests.el [new file with mode: 0644]