aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorPaul Eggert2019-06-04 08:13:20 -0700
committerPaul Eggert2019-06-04 08:34:15 -0700
commit7f4558e3d9edbdee6901e5fbcd4a4072f49ec5b9 (patch)
treea709f4f82777f6a5e2c16e7d417ba59b74e7b430 /src/alloc.c
parentdd7bc5de3f59237f21e1c4b70f0ba97549ea1fb4 (diff)
downloademacs-7f4558e3d9edbdee6901e5fbcd4a4072f49ec5b9.tar.gz
emacs-7f4558e3d9edbdee6901e5fbcd4a4072f49ec5b9.zip
Always allow at least double-precision bignums
Without this fix, Emacs can get into a tight loop reporting a range error when calculating timestamps. * doc/lispref/numbers.texi (Integer Basics): * src/alloc.c (syms_of_alloc): Document this. * src/bignum.c (make_bignum_bits): Always allow bignums of at least twice the width of (u)intmax_t.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 5c5b56d02e9..64aaa8acdfa 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7369,9 +7369,9 @@ The time is in seconds as a floating point value. */);
7369 doc: /* Accumulated number of garbage collections done. */); 7369 doc: /* Accumulated number of garbage collections done. */);
7370 7370
7371 DEFVAR_INT ("integer-width", integer_width, 7371 DEFVAR_INT ("integer-width", integer_width,
7372 doc: /* Maximum number of bits in bignums. 7372 doc: /* Maximum number N of bits in safely-calculated integers.
7373Integers outside the fixnum range are limited to absolute values less 7373Integers with absolute values less than 2**N do not signal a range error.
7374than 2**N, where N is this variable's value. N should be nonnegative. */); 7374N should be nonnegative. */);
7375 7375
7376 defsubr (&Scons); 7376 defsubr (&Scons);
7377 defsubr (&Slist); 7377 defsubr (&Slist);