aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/alloc.c b/src/alloc.c
index d7e4214c6c4..3b5d0e57ace 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -766,7 +766,7 @@ mark_interval_tree (tree)
766 766
767 /* XMARK expands to an assignment; the LHS of an assignment can't be 767 /* XMARK expands to an assignment; the LHS of an assignment can't be
768 a cast. */ 768 a cast. */
769 XMARK (* (Lisp_Object *) &tree->parent); 769 XMARK (tree->up.obj);
770 770
771 traverse_intervals (tree, 1, 0, mark_interval, Qnil); 771 traverse_intervals (tree, 1, 0, mark_interval, Qnil);
772} 772}
@@ -777,7 +777,7 @@ mark_interval_tree (tree)
777#define MARK_INTERVAL_TREE(i) \ 777#define MARK_INTERVAL_TREE(i) \
778 do { \ 778 do { \
779 if (!NULL_INTERVAL_P (i) \ 779 if (!NULL_INTERVAL_P (i) \
780 && ! XMARKBIT (*(Lisp_Object *) &i->parent)) \ 780 && ! XMARKBIT (i->up.obj)) \
781 mark_interval_tree (i); \ 781 mark_interval_tree (i); \
782 } while (0) 782 } while (0)
783 783
@@ -790,7 +790,7 @@ mark_interval_tree (tree)
790 do { \ 790 do { \
791 if (! NULL_INTERVAL_P (i)) \ 791 if (! NULL_INTERVAL_P (i)) \
792 { \ 792 { \
793 XUNMARK (* (Lisp_Object *) (&(i)->parent)); \ 793 XUNMARK ((i)->up.obj); \
794 (i) = balance_intervals (i); \ 794 (i) = balance_intervals (i); \
795 } \ 795 } \
796 } while (0) 796 } while (0)
@@ -4649,6 +4649,18 @@ Frames, windows, buffers, and subprocesses count as vectors\n\
4649 4649
4650 return Flist (8, consed); 4650 return Flist (8, consed);
4651} 4651}
4652
4653int suppress_checking;
4654void
4655die (msg, file, line)
4656 const char *msg;
4657 const char *file;
4658 int line;
4659{
4660 fprintf (stderr, "\r\nEmacs fatal error: %s:%d: %s\r\n",
4661 file, line, msg);
4662 abort ();
4663}
4652 4664
4653/* Initialization */ 4665/* Initialization */
4654 4666