aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKen Raeburn2000-03-29 22:14:34 +0000
committerKen Raeburn2000-03-29 22:14:34 +0000
commite0b8c689e2b1d80da6ed235ae400ad10d117b706 (patch)
treef54bb195d821f61b0f7c3fbf4eae79b72978fdbe /src/ChangeLog
parent141384bdd2a332b79b36d118cd13becaf0b326b9 (diff)
downloademacs-e0b8c689e2b1d80da6ed235ae400ad10d117b706.tar.gz
emacs-e0b8c689e2b1d80da6ed235ae400ad10d117b706.zip
Stop assuming interval pointers and lisp objects can be distinguished by
inspection. Beginnings of support for expensive internal consistency checks. * config.in (ENABLE_CHECKING): Undef. * lisp.h (struct interval): Replace "parent" field with a union of interval pointer and Lisp_Object; add new bitfield to use as discriminant. Change other flag fields to bitfields. (CHECK): New macro for consistency checking. If ENABLE_CHECKING is defined and the supplied test fails, print a message and abort. (eassert): New macro. Use CHECK to provide an assert-like facility. * intervals.h (NULL_INTERVAL_P): Now applies only to real interval pointers; abort if the value looks like a lisp object. (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT, SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): Modify for new interval parent definition. * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE, UNMARK_BALANCE_INTERVALS): Update references that need an addressable lisp object in the interval structure. (die): New function. (suppress_checking): New variable. * intervals.c (interval_start_pos): Just return 0 if there's no parent object.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2232594d3b2..cf1050bb1ea 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,31 @@
12000-03-29 Ken Raeburn <raeburn@gnu.org>
2
3 * config.in (ENABLE_CHECKING): Undef.
4
5 * lisp.h (struct interval): Replace "parent" field with a union of
6 interval pointer and Lisp_Object; add new bitfield to use as
7 discriminant. Change other flag fields to bitfields.
8 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9 is defined and the supplied test fails, print a message and
10 abort.
11 (eassert): New macro. Use CHECK to provide an assert-like
12 facility.
13
14 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
15 pointers; abort if the value looks like a lisp object.
16 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
17 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
18 Modify for new interval parent definition.
19
20 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
21 UNMARK_BALANCE_INTERVALS): Update references that need an
22 addressable lisp object in the interval structure.
23 (die): New function.
24 (suppress_checking): New variable.
25
26 * intervals.c (interval_start_pos): Just return 0 if there's no
27 parent object.
28
12000-03-29 Gerd Moellmann <gerd@gnu.org> 292000-03-29 Gerd Moellmann <gerd@gnu.org>
2 30
3 * lread.c (read1): Accept `.' (period) as symbol start like in CL 31 * lread.c (read1): Accept `.' (period) as symbol start like in CL