diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-11-25 10:23:16 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-11-25 10:23:16 -0800 |
commit | 6395346bee2382d0e800ce28593c48ad3bab9792 (patch) | |
tree | f4f37b49b4269bc346d60bdbfe31f707c518e8e1 /txr.1 | |
parent | 2ca84b85530a886bb1d5314ca5c006529e08540b (diff) | |
download | txr-6395346bee2382d0e800ce28593c48ad3bab9792.tar.gz txr-6395346bee2382d0e800ce28593c48ad3bab9792.tar.bz2 txr-6395346bee2382d0e800ce28593c48ad3bab9792.zip |
logxor: fix seriously broken function.
Reported by Guillaume le Vaillant.
* arith.c (logxor): Fix broken behavior when the arguments are
the same nonzero fixnum, or the same bignum object.
(logxor_old): New function: verbatim copy of previous logxor.
* eval.c (eval_init): Register logxor intrinsic to the broken
function if compatibility is 202 or less.
* txr.1: Compat note added.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -65473,6 +65473,13 @@ of these version values, the described behaviors are provided if is given an argument which is equal or lower. For instance .code "-C 103" selects the behaviors described below for version 105, but not those for 102. +.IP 202 +Up to \*(TX 202, the +.code logxor +function was incorrectly implemented, producing wrong results when both +arguments are the same fixnum integer, or the same bignum object. +The incorrect behavior is restored if 202 or earlier compatibility is +requested. .IP 199 After \*(TX 199, certain global variables that had been deprecated for a long time, and no longer documented, were removed. Requesting 199 or |