diff options
| author | Paul Eggert | 2018-09-11 11:21:11 -0700 |
|---|---|---|
| committer | Paul Eggert | 2018-09-11 11:34:43 -0700 |
| commit | fa3785ea5fd73eaba84b8e3b8f988dd53f3a4148 (patch) | |
| tree | 3b37f928b5c5b80a92e467f2b49c333e05cf7b3b /src/eval.c | |
| parent | 94297848332f01a18b5a6a7d29f46d03dcd881ec (diff) | |
| download | emacs-fa3785ea5fd73eaba84b8e3b8f988dd53f3a4148.tar.gz emacs-fa3785ea5fd73eaba84b8e3b8f988dd53f3a4148.zip | |
Use overflow-error for bignum overflow
This better corresponds to what emacs-26 did in the
rare cases where it checked for integer overflow.
* src/alloc.c (range_error): Remove.
All uses changed to overflow_error.
* src/eval.c (overflow_error): New function.
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 60dd6f1e8d2..500427cb62b 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1765,6 +1765,14 @@ signal_error (const char *s, Lisp_Object arg) | |||
| 1765 | xsignal (Qerror, Fcons (build_string (s), arg)); | 1765 | xsignal (Qerror, Fcons (build_string (s), arg)); |
| 1766 | } | 1766 | } |
| 1767 | 1767 | ||
| 1768 | /* Use this for arithmetic overflow, e.g., when an integer result is | ||
| 1769 | too large even for a bignum. */ | ||
| 1770 | void | ||
| 1771 | overflow_error (void) | ||
| 1772 | { | ||
| 1773 | xsignal0 (Qoverflow_error); | ||
| 1774 | } | ||
| 1775 | |||
| 1768 | 1776 | ||
| 1769 | /* Return true if LIST is a non-nil atom or | 1777 | /* Return true if LIST is a non-nil atom or |
| 1770 | a list containing one of CONDITIONS. */ | 1778 | a list containing one of CONDITIONS. */ |