]> git.eshelyaron.com Git - emacs.git/commitdiff
Add offsets when inspecting a node's children's values
authorAndreas Politz <politza@hochschule-trier.de>
Thu, 5 Oct 2017 19:55:43 +0000 (21:55 +0200)
committerAndreas Politz <politza@hochschule-trier.de>
Thu, 5 Oct 2017 19:55:43 +0000 (21:55 +0200)
*src/itree.c (interval_tree_insert_gap): Add offset.

src/itree.c

index 0c10100eef74c8cd8014bb6546e34a52008b0f69..5df2d8d1cc595be779a276dd7c2bc59962851a44 100644 (file)
@@ -519,7 +519,8 @@ interval_tree_insert_gap (struct interval_tree *tree, ptrdiff_t pos, ptrdiff_t l
           else
             interval_stack_push (stack, node->right);
         }
-      if (node->left != &tree->nil && pos <= node->left->limit)
+      if (node->left != &tree->nil
+          && pos <= node->left->limit + node->left->offset)
         interval_stack_push (stack, node->left);
 
       /* node->begin == pos implies no front-advance. */
@@ -578,7 +579,8 @@ interval_tree_delete_gap (struct interval_tree *tree, ptrdiff_t pos, ptrdiff_t l
           else
             interval_stack_push (stack, node->right);
         }
-      if (node->left != &tree->nil && pos <= node->left->limit)
+      if (node->left != &tree->nil
+          && pos <= node->left->limit + node->left->offset)
         interval_stack_push (stack, node->left);
 
       if (pos < node->begin)