/* Code for doing intervals.
- Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc.
This file is part of GNU Emacs.
{
interval->right = new;
new->total_length = new_length;
-
- return new;
}
-
- /* Insert the new node between INTERVAL and its right child. */
- new->right = interval->right;
- interval->right->parent = new;
- interval->right = new;
- new->total_length = new_length + new->right->total_length;
-
- balance_an_interval (new);
+ else
+ {
+ /* Insert the new node between INTERVAL and its right child. */
+ new->right = interval->right;
+ interval->right->parent = new;
+ interval->right = new;
+ new->total_length = new_length + new->right->total_length;
+ balance_an_interval (new);
+ }
+
balance_possible_root_interval (interval);
return new;
{
interval->left = new;
new->total_length = new_length;
-
- return new;
}
-
- /* Insert the new node between INTERVAL and its left child. */
- new->left = interval->left;
- new->left->parent = new;
- interval->left = new;
- new->total_length = new_length + new->left->total_length;
-
- balance_an_interval (new);
+ else
+ {
+ /* Insert the new node between INTERVAL and its left child. */
+ new->left = interval->left;
+ new->left->parent = new;
+ interval->left = new;
+ new->total_length = new_length + new->left->total_length;
+ balance_an_interval (new);
+ }
+
balance_possible_root_interval (interval);
return new;