Mercurial > emacs
view info/.cvsignore @ 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 | 23efbe261ad4 |
children | c527f79f1399 |
line wrap: on
line source
emacs emacs-1 emacs-2 emacs-3 emacs-4 emacs-5 emacs-6 emacs-7 emacs-8 emacs-9 emacs-10 emacs-11 emacs-12 emacs-13 emacs-14 emacs-15 emacs-16 emacs-17 emacs-18 emacs-19 emacs-20 emacs-21 emacs-22 emacs-23 emacs-24 emacs-25 emacs-26 emacs-27 emacs-28 emacs-29 emacs-30 emacs-31 emacs-32 emacs-33 ccmode ccmode-1 ccmode-2 ccmode-3 ccmode-4 cl cl-1 cl-2 cl-3 cl-4 cl-5 cl-6 dired-x ediff ediff-1 ediff-2 ediff-3 forms gnus gnus-1 gnus-2 gnus-3 gnus-4 gnus-5 gnus-6 gnus-7 gnus-8 gnus-9 gnus-10 gnus-11 gnus-12 gnus-13 gnus-14 gnus-15 gnus-16 info message mh-e mh-e-1 mh-e-2 mh-e-3 mh-e-4 reftex reftex-1 reftex-2 reftex-3 reftex-4 reftex-5 sc sc-1 sc-2 sc-3 vip vip-1 vip-2 viper viper-1 viper-2 viper-3 viper-4 viper-5 widget ada-mode eudc autotype efaq efaq-1 efaq-2 efaq-3 efaq-4 efaq-5 idlwave idlwave-1 idlwave-2