diff options
| author | Ken Raeburn | 2000-03-29 22:14:34 +0000 |
|---|---|---|
| committer | Ken Raeburn | 2000-03-29 22:14:34 +0000 |
| commit | e0b8c689e2b1d80da6ed235ae400ad10d117b706 (patch) | |
| tree | f54bb195d821f61b0f7c3fbf4eae79b72978fdbe /src/ChangeLog | |
| parent | 141384bdd2a332b79b36d118cd13becaf0b326b9 (diff) | |
| download | emacs-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/ChangeLog | 28 |
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 @@ | |||
| 1 | 2000-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 | |||
| 1 | 2000-03-29 Gerd Moellmann <gerd@gnu.org> | 29 | 2000-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 |