aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatt Armstrong2022-10-19 16:16:09 -0700
committerStefan Monnier2022-10-19 21:35:09 -0400
commit37a1145410f7d61883ea689255ee7e564c2fb3d0 (patch)
treeea0d6e7eb8aab331e78fe67db3bdc9e426a93572 /src
parentf421b58db5d34f45773a73c699b4b1a5a5b9da03 (diff)
downloademacs-37a1145410f7d61883ea689255ee7e564c2fb3d0.tar.gz
emacs-37a1145410f7d61883ea689255ee7e564c2fb3d0.zip
Rename all exported itree.h functions with the itree_ prefix
For the most part, I replaced the interval_tree_ prefix with itree_, interval_node_ with itree_node_, etc. * src/alloc.c: Rename everywhere as appropriate. * src/alloc.c: ditto. * src/buffer.c: ditto. * src/buffer.h: ditto. * src/itree.c: ditto. * src/itree.h: ditto.
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c2
-rw-r--r--src/buffer.c26
-rw-r--r--src/buffer.h4
-rw-r--r--src/itree.c30
-rw-r--r--src/itree.h33
5 files changed, 48 insertions, 47 deletions
diff --git a/src/alloc.c b/src/alloc.c
index a08249b1b11..f69c65dedc1 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3712,7 +3712,7 @@ build_overlay (bool front_advance, bool rear_advance,
3712 PVEC_OVERLAY); 3712 PVEC_OVERLAY);
3713 Lisp_Object overlay = make_lisp_ptr (p, Lisp_Vectorlike); 3713 Lisp_Object overlay = make_lisp_ptr (p, Lisp_Vectorlike);
3714 struct itree_node *node = xmalloc (sizeof (*node)); 3714 struct itree_node *node = xmalloc (sizeof (*node));
3715 interval_node_init (node, front_advance, rear_advance, overlay); 3715 itree_node_init (node, front_advance, rear_advance, overlay);
3716 p->interval = node; 3716 p->interval = node;
3717 p->buffer = NULL; 3717 p->buffer = NULL;
3718 set_overlay_plist (overlay, plist); 3718 set_overlay_plist (overlay, plist);
diff --git a/src/buffer.c b/src/buffer.c
index 228c6e60560..3286cd338ff 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -644,9 +644,9 @@ add_buffer_overlay (struct buffer *b, struct Lisp_Overlay *ov,
644{ 644{
645 eassert (! ov->buffer); 645 eassert (! ov->buffer);
646 if (! b->overlays) 646 if (! b->overlays)
647 b->overlays = interval_tree_create (); 647 b->overlays = itree_create ();
648 ov->buffer = b; 648 ov->buffer = b;
649 itree_insert_node (b->overlays, ov->interval, begin, end); 649 itree_insert (b->overlays, ov->interval, begin, end);
650} 650}
651 651
652/* Copy overlays of buffer FROM to buffer TO. */ 652/* Copy overlays of buffer FROM to buffer TO. */
@@ -911,7 +911,7 @@ remove_buffer_overlay (struct buffer *b, struct Lisp_Overlay *ov)
911{ 911{
912 eassert (b->overlays); 912 eassert (b->overlays);
913 eassert (ov->buffer == b); 913 eassert (ov->buffer == b);
914 interval_tree_remove (ov->buffer->overlays, ov->interval); 914 itree_remove (ov->buffer->overlays, ov->interval);
915 ov->buffer = NULL; 915 ov->buffer = NULL;
916} 916}
917 917
@@ -951,7 +951,7 @@ delete_all_overlays (struct buffer *b)
951 /* Where are the nodes freed ? --ap */ 951 /* Where are the nodes freed ? --ap */
952 XOVERLAY (node->data)->buffer = NULL; 952 XOVERLAY (node->data)->buffer = NULL;
953 } 953 }
954 interval_tree_clear (b->overlays); 954 itree_clear (b->overlays);
955} 955}
956 956
957static void 957static void
@@ -960,7 +960,7 @@ free_buffer_overlays (struct buffer *b)
960 /* Actually this does not free any overlay, but the tree only. --ap */ 960 /* Actually this does not free any overlay, but the tree only. --ap */
961 if (b->overlays) 961 if (b->overlays)
962 { 962 {
963 interval_tree_destroy (b->overlays); 963 itree_destroy (b->overlays);
964 b->overlays = NULL; 964 b->overlays = NULL;
965 } 965 }
966} 966}
@@ -980,7 +980,7 @@ set_overlays_multibyte (bool multibyte)
980 980
981 struct itree_node **nodes = NULL; 981 struct itree_node **nodes = NULL;
982 struct itree_tree *tree = current_buffer->overlays; 982 struct itree_tree *tree = current_buffer->overlays;
983 const intmax_t size = interval_tree_size (tree); 983 const intmax_t size = itree_size (tree);
984 984
985 /* We can't use `interval_node_set_region` at the same time 985 /* We can't use `interval_node_set_region` at the same time
986 as we iterate over the itree, so we need an auxiliary storage 986 as we iterate over the itree, so we need an auxiliary storage
@@ -999,8 +999,8 @@ set_overlays_multibyte (bool multibyte)
999 999
1000 if (multibyte) 1000 if (multibyte)
1001 { 1001 {
1002 ptrdiff_t begin = interval_node_begin (tree, node); 1002 ptrdiff_t begin = itree_node_begin (tree, node);
1003 ptrdiff_t end = interval_node_end (tree, node); 1003 ptrdiff_t end = itree_node_end (tree, node);
1004 1004
1005 /* This models the behavior of markers. (The behavior of 1005 /* This models the behavior of markers. (The behavior of
1006 text-intervals differs slightly.) */ 1006 text-intervals differs slightly.) */
@@ -1010,12 +1010,12 @@ set_overlays_multibyte (bool multibyte)
1010 while (end < Z_BYTE 1010 while (end < Z_BYTE
1011 && !CHAR_HEAD_P (FETCH_BYTE (end))) 1011 && !CHAR_HEAD_P (FETCH_BYTE (end)))
1012 end++; 1012 end++;
1013 interval_node_set_region (tree, node, BYTE_TO_CHAR (begin), 1013 itree_node_set_region (tree, node, BYTE_TO_CHAR (begin),
1014 BYTE_TO_CHAR (end)); 1014 BYTE_TO_CHAR (end));
1015 } 1015 }
1016 else 1016 else
1017 { 1017 {
1018 interval_node_set_region (tree, node, CHAR_TO_BYTE (node->begin), 1018 itree_node_set_region (tree, node, CHAR_TO_BYTE (node->begin),
1019 CHAR_TO_BYTE (node->end)); 1019 CHAR_TO_BYTE (node->end));
1020 } 1020 }
1021 } 1021 }
@@ -3446,7 +3446,7 @@ adjust_overlays_for_insert (ptrdiff_t pos, ptrdiff_t length)
3446 but we may need to update the value of the overlay center. */ 3446 but we may need to update the value of the overlay center. */
3447 if (! current_buffer->overlays) 3447 if (! current_buffer->overlays)
3448 return; 3448 return;
3449 interval_tree_insert_gap (current_buffer->overlays, pos, length); 3449 itree_insert_gap (current_buffer->overlays, pos, length);
3450} 3450}
3451 3451
3452void 3452void
@@ -3454,7 +3454,7 @@ adjust_overlays_for_delete (ptrdiff_t pos, ptrdiff_t length)
3454{ 3454{
3455 if (! current_buffer->overlays) 3455 if (! current_buffer->overlays)
3456 return; 3456 return;
3457 interval_tree_delete_gap (current_buffer->overlays, pos, length); 3457 itree_delete_gap (current_buffer->overlays, pos, length);
3458} 3458}
3459 3459
3460 3460
@@ -3594,7 +3594,7 @@ buffer. */)
3594 add_buffer_overlay (XBUFFER (buffer), XOVERLAY (overlay), n_beg, n_end); 3594 add_buffer_overlay (XBUFFER (buffer), XOVERLAY (overlay), n_beg, n_end);
3595 } 3595 }
3596 else 3596 else
3597 interval_node_set_region (b->overlays, XOVERLAY (overlay)->interval, 3597 itree_node_set_region (b->overlays, XOVERLAY (overlay)->interval,
3598 n_beg, n_end); 3598 n_beg, n_end);
3599 3599
3600 /* If the overlay has changed buffers, do a thorough redisplay. */ 3600 /* If the overlay has changed buffers, do a thorough redisplay. */
diff --git a/src/buffer.h b/src/buffer.h
index ee0c8dd8361..ce1b7b27b0f 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -1398,7 +1398,7 @@ overlay_start (struct Lisp_Overlay *ov)
1398{ 1398{
1399 if (! ov->buffer) 1399 if (! ov->buffer)
1400 return -1; 1400 return -1;
1401 return interval_node_begin (ov->buffer->overlays, ov->interval); 1401 return itree_node_begin (ov->buffer->overlays, ov->interval);
1402} 1402}
1403 1403
1404INLINE ptrdiff_t 1404INLINE ptrdiff_t
@@ -1406,7 +1406,7 @@ overlay_end (struct Lisp_Overlay *ov)
1406{ 1406{
1407 if (! ov->buffer) 1407 if (! ov->buffer)
1408 return -1; 1408 return -1;
1409 return interval_node_end (ov->buffer->overlays, ov->interval); 1409 return itree_node_end (ov->buffer->overlays, ov->interval);
1410} 1410}
1411 1411
1412/* Return the start of OV in its buffer, or -1 if OV is not associated 1412/* Return the start of OV in its buffer, or -1 if OV is not associated
diff --git a/src/itree.c b/src/itree.c
index 6d54a36c3bb..501226b7e28 100644
--- a/src/itree.c
+++ b/src/itree.c
@@ -511,7 +511,7 @@ interval_tree_validate (struct itree_tree *tree, struct itree_node *node)
511/* Initialize an allocated node. */ 511/* Initialize an allocated node. */
512 512
513void 513void
514interval_node_init (struct itree_node *node, 514itree_node_init (struct itree_node *node,
515 bool front_advance, bool rear_advance, 515 bool front_advance, bool rear_advance,
516 Lisp_Object data) 516 Lisp_Object data)
517{ 517{
@@ -528,7 +528,7 @@ interval_node_init (struct itree_node *node,
528/* Return NODE's begin value, computing it if necessary. */ 528/* Return NODE's begin value, computing it if necessary. */
529 529
530ptrdiff_t 530ptrdiff_t
531interval_node_begin (struct itree_tree *tree, 531itree_node_begin (struct itree_tree *tree,
532 struct itree_node *node) 532 struct itree_node *node)
533{ 533{
534 interval_tree_validate (tree, node); 534 interval_tree_validate (tree, node);
@@ -538,7 +538,7 @@ interval_node_begin (struct itree_tree *tree,
538/* Return NODE's end value, computing it if necessary. */ 538/* Return NODE's end value, computing it if necessary. */
539 539
540ptrdiff_t 540ptrdiff_t
541interval_node_end (struct itree_tree *tree, 541itree_node_end (struct itree_tree *tree,
542 struct itree_node *node) 542 struct itree_node *node)
543{ 543{
544 interval_tree_validate (tree, node); 544 interval_tree_validate (tree, node);
@@ -548,7 +548,7 @@ interval_node_end (struct itree_tree *tree,
548/* Allocate an interval_tree. Free with interval_tree_destroy. */ 548/* Allocate an interval_tree. Free with interval_tree_destroy. */
549 549
550struct itree_tree* 550struct itree_tree*
551interval_tree_create (void) 551itree_create (void)
552{ 552{
553 /* FIXME? Maybe avoid the initialization of itree_null in the same 553 /* FIXME? Maybe avoid the initialization of itree_null in the same
554 way that is used to call mem_init in alloc.c? It's not really 554 way that is used to call mem_init in alloc.c? It's not really
@@ -556,14 +556,14 @@ interval_tree_create (void)
556 itree_init (); 556 itree_init ();
557 557
558 struct itree_tree *tree = xmalloc (sizeof (*tree)); 558 struct itree_tree *tree = xmalloc (sizeof (*tree));
559 interval_tree_clear (tree); 559 itree_clear (tree);
560 return tree; 560 return tree;
561} 561}
562 562
563/* Reset the tree TREE to its empty state. */ 563/* Reset the tree TREE to its empty state. */
564 564
565void 565void
566interval_tree_clear (struct itree_tree *tree) 566itree_clear (struct itree_tree *tree)
567{ 567{
568 tree->root = NULL; 568 tree->root = NULL;
569 tree->otick = 1; 569 tree->otick = 1;
@@ -583,7 +583,7 @@ interval_tree_init (struct interval_tree *tree)
583 583
584/* Release a tree, freeing its allocated memory. */ 584/* Release a tree, freeing its allocated memory. */
585void 585void
586interval_tree_destroy (struct itree_tree *tree) 586itree_destroy (struct itree_tree *tree)
587{ 587{
588 eassert (tree->root == NULL); 588 eassert (tree->root == NULL);
589 /* if (tree->iter) 589 /* if (tree->iter)
@@ -594,7 +594,7 @@ interval_tree_destroy (struct itree_tree *tree)
594/* Return the number of nodes in TREE. */ 594/* Return the number of nodes in TREE. */
595 595
596intmax_t 596intmax_t
597interval_tree_size (struct itree_tree *tree) 597itree_size (struct itree_tree *tree)
598{ 598{
599 return tree->size; 599 return tree->size;
600} 600}
@@ -821,7 +821,7 @@ interval_tree_insert (struct itree_tree *tree, struct itree_node *node)
821} 821}
822 822
823void 823void
824itree_insert_node (struct itree_tree *tree, struct itree_node *node, 824itree_insert (struct itree_tree *tree, struct itree_node *node,
825 ptrdiff_t begin, ptrdiff_t end) 825 ptrdiff_t begin, ptrdiff_t end)
826{ 826{
827 node->begin = begin; 827 node->begin = begin;
@@ -833,14 +833,14 @@ itree_insert_node (struct itree_tree *tree, struct itree_node *node,
833/* Safely modify a node's interval. */ 833/* Safely modify a node's interval. */
834 834
835void 835void
836interval_node_set_region (struct itree_tree *tree, 836itree_node_set_region (struct itree_tree *tree,
837 struct itree_node *node, 837 struct itree_node *node,
838 ptrdiff_t begin, ptrdiff_t end) 838 ptrdiff_t begin, ptrdiff_t end)
839{ 839{
840 interval_tree_validate (tree, node); 840 interval_tree_validate (tree, node);
841 if (begin != node->begin) 841 if (begin != node->begin)
842 { 842 {
843 interval_tree_remove (tree, node); 843 itree_remove (tree, node);
844 node->begin = min (begin, PTRDIFF_MAX - 1); 844 node->begin = min (begin, PTRDIFF_MAX - 1);
845 node->end = max (node->begin, end); 845 node->end = max (node->begin, end);
846 interval_tree_insert (tree, node); 846 interval_tree_insert (tree, node);
@@ -1054,7 +1054,7 @@ interval_tree_transplant (struct itree_tree *tree,
1054/* Remove NODE from TREE and return it. NODE must exist in TREE. */ 1054/* Remove NODE from TREE and return it. NODE must exist in TREE. */
1055 1055
1056struct itree_node* 1056struct itree_node*
1057interval_tree_remove (struct itree_tree *tree, struct itree_node *node) 1057itree_remove (struct itree_tree *tree, struct itree_node *node)
1058{ 1058{
1059 eassert (interval_tree_contains (tree, node)); 1059 eassert (interval_tree_contains (tree, node));
1060 eassert (check_tree (tree, true)); /* FIXME: Too expensive. */ 1060 eassert (check_tree (tree, true)); /* FIXME: Too expensive. */
@@ -1181,7 +1181,7 @@ itree_iterator_finish (struct itree_iterator *iter)
1181 front_advance setting. */ 1181 front_advance setting. */
1182 1182
1183void 1183void
1184interval_tree_insert_gap (struct itree_tree *tree, 1184itree_insert_gap (struct itree_tree *tree,
1185 ptrdiff_t pos, ptrdiff_t length) 1185 ptrdiff_t pos, ptrdiff_t length)
1186{ 1186{
1187 if (length <= 0 || tree->root == NULL) 1187 if (length <= 0 || tree->root == NULL)
@@ -1201,7 +1201,7 @@ interval_tree_insert_gap (struct itree_tree *tree,
1201 interval_stack_push (saved, node); 1201 interval_stack_push (saved, node);
1202 } 1202 }
1203 for (int i = 0; i < saved->length; ++i) 1203 for (int i = 0; i < saved->length; ++i)
1204 interval_tree_remove (tree, nav_nodeptr (saved->nodes[i])); 1204 itree_remove (tree, nav_nodeptr (saved->nodes[i]));
1205 1205
1206 /* We can't use an iterator here, because we can't effectively 1206 /* We can't use an iterator here, because we can't effectively
1207 narrow AND shift some subtree at the same time. */ 1207 narrow AND shift some subtree at the same time. */
@@ -1265,7 +1265,7 @@ interval_tree_insert_gap (struct itree_tree *tree,
1265 intersecting it. */ 1265 intersecting it. */
1266 1266
1267void 1267void
1268interval_tree_delete_gap (struct itree_tree *tree, 1268itree_delete_gap (struct itree_tree *tree,
1269 ptrdiff_t pos, ptrdiff_t length) 1269 ptrdiff_t pos, ptrdiff_t length)
1270{ 1270{
1271 if (length <= 0 || tree->root == NULL) 1271 if (length <= 0 || tree->root == NULL)
diff --git a/src/itree.h b/src/itree.h
index b4116a1fb75..3df07ac1b7e 100644
--- a/src/itree.h
+++ b/src/itree.h
@@ -75,10 +75,9 @@ struct itree_node
75 adjustment before use as buffer positions. 75 adjustment before use as buffer positions.
76 76
77 NOTE: BEGIN and END must not be modified while the node is part 77 NOTE: BEGIN and END must not be modified while the node is part
78 of a tree. Use interval_tree_insert_gap and 78 of a tree. Use itree_insert_gap and itree_delete_gap instead.
79 interval_tree_delete_gap instead.
80 79
81 NOTE: The interval generators ensure nodes are clean before 80 NOTE: The interval iterators ensure nodes are clean before
82 yielding them, so BEGIN and END may be safely used as buffer 81 yielding them, so BEGIN and END may be safely used as buffer
83 positions then. 82 positions then.
84 */ 83 */
@@ -107,19 +106,21 @@ enum itree_order {
107 ITREE_PRE_ORDER, 106 ITREE_PRE_ORDER,
108}; 107};
109 108
110void interval_node_init (struct itree_node *, bool, bool, Lisp_Object); 109void itree_node_init (struct itree_node *, bool, bool, Lisp_Object);
111ptrdiff_t interval_node_begin (struct itree_tree *, struct itree_node *); 110ptrdiff_t itree_node_begin (struct itree_tree *, struct itree_node *);
112ptrdiff_t interval_node_end (struct itree_tree *, struct itree_node *); 111ptrdiff_t itree_node_end (struct itree_tree *, struct itree_node *);
113void interval_node_set_region (struct itree_tree *, struct itree_node *, ptrdiff_t, ptrdiff_t); 112void itree_node_set_region (struct itree_tree *, struct itree_node *,
114struct itree_tree *interval_tree_create (void); 113 ptrdiff_t, ptrdiff_t);
115void interval_tree_destroy (struct itree_tree *); 114struct itree_tree *itree_create (void);
116intmax_t interval_tree_size (struct itree_tree *); 115void itree_destroy (struct itree_tree *);
117void interval_tree_clear (struct itree_tree *); 116intmax_t itree_size (struct itree_tree *);
118void itree_insert_node (struct itree_tree *tree, struct itree_node *node, 117void itree_clear (struct itree_tree *);
119 ptrdiff_t begin, ptrdiff_t end); 118void itree_insert (struct itree_tree *tree, struct itree_node *node,
120struct itree_node *interval_tree_remove (struct itree_tree *, struct itree_node *); 119 ptrdiff_t begin, ptrdiff_t end);
121void interval_tree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); 120struct itree_node *itree_remove (struct itree_tree *,
122void interval_tree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t); 121 struct itree_node *);
122void itree_insert_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
123void itree_delete_gap (struct itree_tree *, ptrdiff_t, ptrdiff_t);
123 124
124/* Iteration functions. Almost all code should use ITREE_FOREACH 125/* Iteration functions. Almost all code should use ITREE_FOREACH
125 instead. */ 126 instead. */