Mercurial > hg > xemacs-beta
comparison src/ChangeLog @ 5769:ffc0c5a66ab1
Be lazy converting markers to integers, bytecode_{arithcompare,arithop}().
src/ChangeLog addition:
2013-12-15 Aidan Kehoe <kehoea@parhasard.net>
* bytecode.c (bytecode_arithcompare):
* bytecode.c (bytecode_arithop):
Call promote_args_lazy () in these two functions, only converting
markers to fixnums if absolutely necessary (since that is ON with
large, mule buffers).
* data.c (BIGNUM_CASE):
* data.c (RATIO_CASE):
* data.c (BIGFLOAT_CASE):
* data.c (ARITHCOMPARE_MANY):
Call promote_args_lazy () here too if WITH_NUMBER_TYPES is defined.
We're not doing the equivalent with the non-NUMBER_TYPES code, but
that's mostly fine, we are doing it in the bytecode.
* number.h:
* number.h (NUMBER_TYPES):
* number.h (promote_args_lazy):
Add this, returning LAZY_MARKER_T if both arguments are markers
that point to the same buffer.
tests/ChangeLog addition:
2013-12-15 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Test arithmetic comparisons with markers, check the type of the
returned values for #'min and #'max.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 15 Dec 2013 10:26:31 +0000 |
parents | 3bfcdeb65578 |
children | 72a9467f93fc |
comparison
equal
deleted
inserted
replaced
5768:3bfcdeb65578 | 5769:ffc0c5a66ab1 |
---|---|
1 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> | |
2 | |
3 * bytecode.c (bytecode_arithcompare): | |
4 * bytecode.c (bytecode_arithop): | |
5 Call promote_args_lazy () in these two functions, only converting | |
6 markers to fixnums if absolutely necessary (since that is ON with | |
7 large, mule buffers). | |
8 | |
9 * data.c (BIGNUM_CASE): | |
10 * data.c (RATIO_CASE): | |
11 * data.c (BIGFLOAT_CASE): | |
12 * data.c (ARITHCOMPARE_MANY): | |
13 Call promote_args_lazy () here too if WITH_NUMBER_TYPES is defined. | |
14 We're not doing the equivalent with the non-NUMBER_TYPES code, but | |
15 that's mostly fine, we are doing it in the bytecode. | |
16 | |
17 * number.h: | |
18 * number.h (NUMBER_TYPES): | |
19 * number.h (promote_args_lazy): | |
20 Add this, returning LAZY_MARKER_T if both arguments are markers | |
21 that point to the same buffer. | |
22 | |
1 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> | 23 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> |
2 | 24 |
3 * data.c (Fmax): | 25 * data.c (Fmax): |
4 * data.c (Fmin): | 26 * data.c (Fmin): |
5 When an argument is a marker or a character, and WITH_NUMBER_TYPES | 27 When an argument is a marker or a character, and WITH_NUMBER_TYPES |