]> git.eshelyaron.com Git - emacs.git/commit
Port interval trees to --enable-checking=structs
authorBasil L. Contovounesios <contovob@tcd.ie>
Wed, 2 Nov 2022 01:50:38 +0000 (03:50 +0200)
committerBasil L. Contovounesios <contovob@tcd.ie>
Thu, 3 Nov 2022 14:49:05 +0000 (16:49 +0200)
commita66280162f907a09be23922cc80ac352392adac6
tree849424a1c4025c04d16602f65410a23ae26c7d00
parent8b8038494ce8354a3e2cfffebba40dbd1328ebb9
Port interval trees to --enable-checking=structs

Some names under the interval_* namespace were renamed under the
itree_* namespace in commits:

  0. f421b58db5 of 2022-10-19
  "Prefix all itree.h type names with itree_".
  1. 37a1145410 of 2022-10-19
  "Rename all exported itree.h functions with the itree_ prefix"

Further, some values still referenced in commentary were removed in
commits:

  2. 258e618364 of 2022-10-17
  "Delete the itree_null sentinel node, use NULL everywhere."
  3. 2c4a3910b3 of 2022-10-02
  "itree: Use a single iterator object"

* src/emacs.c (main): Allocate global itree iterator once and for
all.
* src/alloc.c (mark_overlay):
* src/buffer.c (set_overlays_multibyte):
* src/itree.c (itree_destroy): Update commentary.
(interval_stack_ensure_space, itree_insert_gap): Prefer
unsigned-to-unsigned comparisons over signed-to-unsigned.
(interval_stack_push_flagged, interval_tree_insert)
(interval_tree_contains, itree_iterator_start)
(itree_iterator_finish, itree_iterator_next, itree_iterator_narrow):
Improve assertions.
(itree_init): Rename...
(init_itree): ...to this, for consistency with other global init
functions.
(itree_create): Stop leaking a global iterator allocation on each
call.
(interval_tree_init): Complete renames of
interval_tree -> itree_tree and interval_tree_clear -> itree_clear.
(interval_tree_remove_fix): Fix indentation.
* src/itree.h: Declare init_itree.
(ITREE_FOREACH): Fix typo in commentary.

* src/pdumper.c [CHECK_STRUCTS]
(dump_interval_node): Use the correct name in the HASH condition
and #error message.
(dump_overlay, dump_buffer): Update HASH (bug#58975).
src/alloc.c
src/buffer.c
src/emacs.c
src/itree.c
src/itree.h
src/pdumper.c