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