diff options
Diffstat (limited to 'src/emacs-module.c')
| -rw-r--r-- | src/emacs-module.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c index 2ba5540d9a1..6155535f869 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c | |||
| @@ -519,14 +519,10 @@ module_extract_integer (emacs_env *env, emacs_value n) | |||
| 519 | MODULE_FUNCTION_BEGIN (0); | 519 | MODULE_FUNCTION_BEGIN (0); |
| 520 | Lisp_Object l = value_to_lisp (n); | 520 | Lisp_Object l = value_to_lisp (n); |
| 521 | CHECK_INTEGER (l); | 521 | CHECK_INTEGER (l); |
| 522 | if (BIGNUMP (l)) | 522 | intmax_t i; |
| 523 | { | 523 | if (! integer_to_intmax (l, &i)) |
| 524 | intmax_t i = bignum_to_intmax (l); | 524 | xsignal1 (Qoverflow_error, l); |
| 525 | if (i == 0) | 525 | return i; |
| 526 | xsignal1 (Qoverflow_error, l); | ||
| 527 | return i; | ||
| 528 | } | ||
| 529 | return XFIXNUM (l); | ||
| 530 | } | 526 | } |
| 531 | 527 | ||
| 532 | static emacs_value | 528 | static emacs_value |