Mercurial > emacs
annotate BUGS @ 28406:451721e784a8
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.
author | Ken Raeburn <raeburn@raeburn.org> |
---|---|
date | Wed, 29 Mar 2000 22:14:34 +0000 |
parents | 354e0c45cedf |
children | af68d12218d0 |
rev | line source |
---|---|
25856 | 1 If you think you may have found a bug in GNU Emacs, please |
2 read the Bugs section of the Emacs manual for advice on | |
3 (1) how to tell when to report a bug, and | |
4 (2) how to write a useful bug report and what information | |
5 it needs to have. | |
6 | |
7 There are three ways to read the Bugs section. | |
8 | |
9 (1) In a printed copy of the Emacs manual. | |
10 You can order one from the Free Software Foundation; | |
11 see the file etc/ORDERS. But if you don't have a copy on | |
12 hand and you think you have found a bug, you shouldn't wait | |
13 to get a printed manual; you should read the section right away | |
14 as described below. | |
15 | |
16 (2) With Info. Start Emacs, do C-h i to enter Info, | |
17 then m Emacs RET to get to the Emacs manual, then m Bugs RET | |
18 to get to the section on bugs. Or use standalone Info in | |
19 a like manner. (Standalone Info is part of the Texinfo distribution, | |
20 not part of the Emacs distribution.) | |
21 | |
22 (3) By hand. Do | |
23 cat info/emacs* | more "+/^File: emacs, Node: Bugs," | |
24 |