Subject: bug#32463: 27.0.50; (logior -1) => 4611686018427387903

From: Andy Moreton <[email-masked]>
Date: Tue, 21 Aug 2018 15:52:23 +0100

On Tue 21 Aug 2018, Eli Zaretskii wrote:

>> From: Paul Eggert <[email-masked]>
>> Date: Tue, 21 Aug 2018 02:40:34 -0700
>> Cc: [email-masked], [email-masked]
>> 
>> I installed the attached patch to do that. It tentatively defaults to a limit of 
>> 2↑↑5 (i.e., 2**65536) for bignums, overrideable by setting a new variable 
>> 'integer-width' that defaults to 65536. This default should be big enough for 
>> almost all Emacs applications and should avoid issues of aborts and hangs.
>
> Should the default value be different on 32-bit platforms?

For a 32bit platform using 32bit mp_limb_t, this is only 2048 limbs, so
well within range of mpz_t::_mp_size. Having the same limit on all
platforms should be fine.

Does this limit apply to bignum values in lisp objects, or to
intermediate values inside libgmp, which may require extra space ?
The documentation for `integer-width' should make this clear.

    AndyM