diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2018-08-17 00:25:20 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2018-08-17 00:26:19 -0700 |
commit | 64eb9b71da7c3c34541929c1b0dfb7f0c11d3d88 (patch) | |
tree | 0b905edf417cb3e62706d84e5776a2a26065453f /src/w32proc.c | |
parent | 3b9017b5ba6b7041fbf70691092533286cc9b98d (diff) | |
download | emacs-64eb9b71da7c3c34541929c1b0dfb7f0c11d3d88.tar.gz |
Fix problems with logxor etc. and fixnums
These operations incorrectly treated negative fixnums as
bignums greater than most-positive-fixnum.
* src/alloc.c (mpz_set_intmax_slow): Avoid undefined
behavior if signed unary negation overflows, while
we’re in the neighborhood.
(mpz_set_uintmax_slow): Remove. All uses removed.
* src/data.c (arith_driver): Treat fixnums as signed, not
unsigned, even for logical operations.
* src/lisp.h (mpz_set_uintmax): Remove. All uses removed.
* test/src/data-tests.el (data-tests-logand)
(data-tests-logior, data-tests-logxor): New tests.
Diffstat (limited to 'src/w32proc.c')
0 files changed, 0 insertions, 0 deletions