>From 1d84e6523250ab6d14f40fba3922c56d7a40416f Mon Sep 17 00:00:00 2001 From: Paul Eggert
Date: Tue, 4 Sep 2018 09:30:57 -0700 Subject: [PATCH] Fix bignum initialization Problem reported by Andy Moreton in: https://lists.gnu.org/r/emacs-devel/2018-09/msg00072.html and crystal-ball diagnosis by Eli Zaretskii in: https://lists.gnu.org/r/emacs-devel/2018-09/msg00075.html * src/alloc.c (xrealloc_for_gmp, xfree_for_gmp): Move to bignum.c. (init_alloc): Move bignum initialization to init_bignum. * src/bignum.c (init_bignum): Rename from init_bignum_once. All users changed. * src/emacs.c (main): Call init_bignum after init_alloc, instead of calling init_bignum_once after init_bignum. --- src/alloc.c | 16 ---------------- src/bignum.c | 18 +++++++++++++++++- src/bignum.h | 2 +- src/emacs.c | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index 1eab82d1c2..28ca7804ee 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -7126,18 +7126,6 @@ range_error (void) xsignal0 (Qrange_error); } -static void * -xrealloc_for_gmp (void *ptr, size_t ignore, size_t size) -{ - return xrealloc (ptr, size); -} - -static void -xfree_for_gmp (void *ptr, size_t ignore) -{ - xfree (ptr); -} - /* Initialization. */ void @@ -7171,10 +7159,6 @@ init_alloc_once (void) void init_alloc (void) { - eassert (mp_bits_per_limb == GMP_NUMB_BITS); - integer_width = 1 << 16; - mp_set_memory_functions (xmalloc, xrealloc_for_gmp, xfree_for_gmp); - Vgc_elapsed = make_float (0.0); gcs_done = 0; diff --git a/src/bignum.c b/src/bignum.c index 2ce7412d06..35894f5647 100644 --- a/src/bignum.c +++ b/src/bignum.c @@ -34,9 +34,25 @@ along with GNU Emacs. If not, see