aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorStefan Monnier2022-09-28 19:05:16 -0400
committerStefan Monnier2022-09-28 19:05:16 -0400
commitea8daec9bb8ebf3cbca35edec4e4ef7b6edac3de (patch)
tree1a34f44adca5fbf08033829dab643db6340bf296 /src/alloc.c
parent800ecd4767df48beeefabccdacd089b8c4286529 (diff)
downloademacs-ea8daec9bb8ebf3cbca35edec4e4ef7b6edac3de.tar.gz
emacs-ea8daec9bb8ebf3cbca35edec4e4ef7b6edac3de.zip
itree.[ch]: Add sanity checks, comments, and minor tweaks
* src/alloc.c (mark_overlay): Add sanity check. * src/buffer.c (next_overlay_change, previous_overlay_change): Tweak code to keep the same vars for the bounds. * src/itree.c (interval_tree_clear, interval_tree_insert) (interval_tree_remove, interval_tree_insert_fix, interval_tree_remove_fix): Adjust to the `color` -> `red` change. (interval_tree_clear): Prefer `true/false` for booleans. (interval_generator_create): Use an actual `interval_tree_order` value rather than 0. (interval_generator_next): Simplify a tiny bit. Add comment. (interval_generator_narrow): Add sanity check. * src/itree.h (struct interval_node): Replace `color` field with boolean `red` field. (enum interval_tree_order): Remove unused `ITREE_DEFLT_ORDER` value. * src/pdumper.c (dump_interval_node): Adjust to the `color` -> `red` change.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 20b8981bd66..be55dcf8dfd 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6505,6 +6505,9 @@ mark_char_table (struct Lisp_Vector *ptr, enum pvec_type pvectype)
6505static void 6505static void
6506mark_overlay (struct Lisp_Overlay *ov) 6506mark_overlay (struct Lisp_Overlay *ov)
6507{ 6507{
6508 /* We don't mark the `interval_node` object, because it is managed manually
6509 rather than by the GC. */
6510 eassert (BASE_EQ (ov->interval->data, make_lisp_ptr (ov, Lisp_Vectorlike)));
6508 set_vectorlike_marked (&ov->header); 6511 set_vectorlike_marked (&ov->header);
6509 mark_object (ov->plist); 6512 mark_object (ov->plist);
6510} 6513}