diff --git a/src/alloc.c b/src/alloc.c index 28ca7804ee..a20991e4b9 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -5325,33 +5325,6 @@ make_pure_float (double num) return new; } -/* Value is a bignum object with value VALUE allocated from pure - space. */ - -static Lisp_Object -make_pure_bignum (struct Lisp_Bignum *value) -{ - size_t i, nlimbs = mpz_size (value->value); - size_t nbytes = nlimbs * sizeof (mp_limb_t); - mp_limb_t *pure_limbs; - mp_size_t new_size; - - struct Lisp_Bignum *b = pure_alloc (sizeof *b, Lisp_Vectorlike); - XSETPVECTYPESIZE (b, PVEC_BIGNUM, 0, VECSIZE (struct Lisp_Bignum)); - - pure_limbs = pure_alloc (nbytes, -1); - for (i = 0; i < nlimbs; ++i) - pure_limbs[i] = mpz_getlimbn (value->value, i); - - new_size = nlimbs; - if (mpz_sgn (value->value) < 0) - new_size = -new_size; - - mpz_roinit_n (b->value, pure_limbs, new_size); - - return make_lisp_ptr (b, Lisp_Vectorlike); -} - /* Return a vector with room for LEN Lisp_Objects allocated from pure space. */ @@ -5492,8 +5465,6 @@ purecopy (Lisp_Object obj) /* Don't hash-cons it. */ return obj; } - else if (BIGNUMP (obj)) - obj = make_pure_bignum (XBIGNUM (obj)); else { AUTO_STRING (fmt, "Don't know how to purify: %S");