diff options
| author | Stefan Monnier | 2001-04-12 12:13:27 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2001-04-12 12:13:27 +0000 |
| commit | 522836336edf87bda7aef8fdd99bcead6d59d083 (patch) | |
| tree | ceb084c68b519fe55669438687034a1277534fbc /src/intervals.c | |
| parent | 6c9e58c4ec15e1b734dc18a05c72d9155ccf45d5 (diff) | |
| download | emacs-522836336edf87bda7aef8fdd99bcead6d59d083.tar.gz emacs-522836336edf87bda7aef8fdd99bcead6d59d083.zip | |
(find_interval): Don't rebalance during signal handling.
Diffstat (limited to 'src/intervals.c')
| -rw-r--r-- | src/intervals.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/intervals.c b/src/intervals.c index 3e15a3cbf41..1dfc901a3ec 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -612,7 +612,8 @@ find_interval (tree, position) | |||
| 612 | if (relative_position > TOTAL_LENGTH (tree)) | 612 | if (relative_position > TOTAL_LENGTH (tree)) |
| 613 | abort (); /* Paranoia */ | 613 | abort (); /* Paranoia */ |
| 614 | 614 | ||
| 615 | tree = balance_possible_root_interval (tree); | 615 | if (!handling_signal) |
| 616 | tree = balance_possible_root_interval (tree); | ||
| 616 | 617 | ||
| 617 | while (1) | 618 | while (1) |
| 618 | { | 619 | { |
| @@ -720,7 +721,9 @@ previous_interval (interval) | |||
| 720 | 721 | ||
| 721 | /* Find the interval containing POS given some non-NULL INTERVAL | 722 | /* Find the interval containing POS given some non-NULL INTERVAL |
| 722 | in the same tree. Note that we need to update interval->position | 723 | in the same tree. Note that we need to update interval->position |
| 723 | if we go down the tree. */ | 724 | if we go down the tree. |
| 725 | To speed up the process, we assume that the ->position of | ||
| 726 | I and all its parents is already uptodate. */ | ||
| 724 | INTERVAL | 727 | INTERVAL |
| 725 | update_interval (i, pos) | 728 | update_interval (i, pos) |
| 726 | register INTERVAL i; | 729 | register INTERVAL i; |