diff options
| author | Paul Eggert | 2018-08-19 10:05:41 -0700 |
|---|---|---|
| committer | Paul Eggert | 2018-08-19 10:06:12 -0700 |
| commit | ecd7a9407711ebe24d7e07d4402a2d66754ee693 (patch) | |
| tree | df04b5ad6ac33eea74b3972cb5b3404e9c8e1fd6 /src | |
| parent | 5c3dba24ef5f40825a01e30d2790c66df202b8b1 (diff) | |
| download | emacs-ecd7a9407711ebe24d7e07d4402a2d66754ee693.tar.gz emacs-ecd7a9407711ebe24d7e07d4402a2d66754ee693.zip | |
Fix expt signedness bug --without-wide-int
Problem reported by Federico in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00619.html
* src/floatfns.c (Fexpt): Use TYPE_RANGED_FIXNUMP, not
RANGED_FIXNUMP, to fix bug with unsigned comparison on
platforms built --without-wide-int.
Diffstat (limited to 'src')
| -rw-r--r-- | src/floatfns.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/floatfns.c b/src/floatfns.c index 54d068c29e5..7c52a0a9a20 100644 --- a/src/floatfns.c +++ b/src/floatfns.c | |||
| @@ -212,7 +212,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0, | |||
| 212 | if (INTEGERP (arg1) && NATNUMP (arg2)) | 212 | if (INTEGERP (arg1) && NATNUMP (arg2)) |
| 213 | { | 213 | { |
| 214 | unsigned long exp; | 214 | unsigned long exp; |
| 215 | if (RANGED_FIXNUMP (0, arg2, ULONG_MAX)) | 215 | if (TYPE_RANGED_FIXNUMP (unsigned long, arg2)) |
| 216 | exp = XFIXNUM (arg2); | 216 | exp = XFIXNUM (arg2); |
| 217 | else if (MOST_POSITIVE_FIXNUM < ULONG_MAX && BIGNUMP (arg2) | 217 | else if (MOST_POSITIVE_FIXNUM < ULONG_MAX && BIGNUMP (arg2) |
| 218 | && mpz_fits_ulong_p (XBIGNUM (arg2)->value)) | 218 | && mpz_fits_ulong_p (XBIGNUM (arg2)->value)) |