Mercurial > hg > xemacs-beta
diff src/ChangeLog @ 4888:c27efc9acb5a
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 27 Jan 2010 00:37:59 -0600 |
parents | a47abe9c47f2 1e9078742fa7 |
children | 276e07b3cc93 |
line wrap: on
line diff
--- a/src/ChangeLog Tue Jan 26 18:08:47 2010 -0600 +++ b/src/ChangeLog Wed Jan 27 00:37:59 2010 -0600 @@ -165,6 +165,47 @@ and to give the same answer all the time when treating a rational that is itself is an integer as a ratio. +2010-01-24 Aidan Kehoe <kehoea@parhasard.net> + + Fix problems with #'eql, extended number types, and the hash table + implementation; change the Bintegerp bytecode to fixnump semantics + even on bignum builds, since #'integerp can have a fast + implementation in terms of #'fixnump for most of its extant uses, + but not vice-versa. + + * lisp.h: Always #include number.h; we want the macros provided in + it, even if the various number types are not available. + * number.h (NON_FIXNUM_NUMBER_P): New macro, giving 1 when its + argument is of non-immediate number type. Equivalent to FLOATP if + WITH_NUMBER_TYPES is not defined. + + * elhash.c (lisp_object_eql_equal, lisp_object_eql_hash): + Use NON_FIXNUM_NUMBER_P in these functions, instead of FLOATP, + giving more correct behaviour in the presence of the extended + number types. + * bytecode.c (Bfixnump, execute_optimized_program): + Rename Bintegerp to Bfixnump; change its semantics to reflect the + new name on builds with bignum support. + + * data.c (Ffixnump, Fintegerp, syms_of_data, vars_of_data): + Always make #'fixnump available, even on non-BIGNUM builds; + always implement #'integerp in this file, even on BIGNUM builds. + Move most-positive-fixnum, most-negative-fixnum here from + number.c, so they are Lisp constants even on builds without number + types, and attempts to change or bind them error. + Use the NUMBERP and INTEGERP macros even on builds without + extended number types. + * data.c (fixnum_char_or_marker_to_int): + Rename this function from integer_char_or_marker_to_int, to better + reflect the arguments it accepts. + + * number.c (Fevenp, Foddp, syms_of_number): + Never provide #'integerp in this file. Remove #'oddp, + #'evenp; their implementations are overridden by those in cl.el. + * number.c (vars_of_number): + most-positive-fixnum, most-negative-fixnum are no longer here. + +>>>>>>> other 2010-01-17 Vin Shelton <acs@xemacs.org> * fileio.c (check_writable): Remove cast from 2010-01-14