diff options
| author | Stefan Monnier | 2022-09-28 19:05:16 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2022-09-28 19:05:16 -0400 |
| commit | ea8daec9bb8ebf3cbca35edec4e4ef7b6edac3de (patch) | |
| tree | 1a34f44adca5fbf08033829dab643db6340bf296 /src/alloc.c | |
| parent | 800ecd4767df48beeefabccdacd089b8c4286529 (diff) | |
| download | emacs-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.c | 3 |
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) | |||
| 6505 | static void | 6505 | static void |
| 6506 | mark_overlay (struct Lisp_Overlay *ov) | 6506 | mark_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 | } |