(find_interval): Don't rebalance during signal handling.

This commit is contained in:
Stefan Monnier 2001-04-12 12:13:27 +00:00
parent 6c9e58c4ec
commit 522836336e
2 changed files with 570 additions and 764 deletions

File diff suppressed because it is too large Load diff

View file

@ -612,7 +612,8 @@ find_interval (tree, position)
if (relative_position > TOTAL_LENGTH (tree))
abort (); /* Paranoia */
tree = balance_possible_root_interval (tree);
if (!handling_signal)
tree = balance_possible_root_interval (tree);
while (1)
{
@ -720,7 +721,9 @@ previous_interval (interval)
/* Find the interval containing POS given some non-NULL INTERVAL
in the same tree. Note that we need to update interval->position
if we go down the tree. */
if we go down the tree.
To speed up the process, we assume that the ->position of
I and all its parents is already uptodate. */
INTERVAL
update_interval (i, pos)
register INTERVAL i;