view 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
line wrap: on
line source

If you think you may have found a bug in GNU Emacs, please
read the Bugs section of the Emacs manual for advice on
(1) how to tell when to report a bug, and
(2) how to write a useful bug report and what information
it needs to have.

There are three ways to read the Bugs section.

(1) In a printed copy of the Emacs manual.
You can order one from the Free Software Foundation;
see the file etc/ORDERS.  But if you don't have a copy on
hand and you think you have found a bug, you shouldn't wait
to get a printed manual; you should read the section right away
as described below.

(2) With Info.  Start Emacs, do C-h i to enter Info,
then m Emacs RET to get to the Emacs manual, then m Bugs RET
to get to the section on bugs.  Or use standalone Info in
a like manner.  (Standalone Info is part of the Texinfo distribution,
not part of the Emacs distribution.)

(3) By hand.  Do
    cat info/emacs* | more "+/^File: emacs,  Node: Bugs,"