Mercurial > emacs
comparison src/intervals.c @ 25747:062f4c69ff56
(rotate_right, rotate_left): Add braces to avoid
ambiguous else warning.
(split_interval_left): Remove unused variables.
(previous_interval, adjust_intervals_for_deletion,
set_point_both, set_point_both, set_intervals_multibyte_1): Ditto.
(icount, idepth, zero_length): Move into #if 0 section below
original position where these are used.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 16 Sep 1999 20:19:57 +0000 |
parents | 0a7261c1d487 |
children | 365b6c7f12d3 |
comparison
equal
deleted
inserted
replaced
25746:8690532ba294 | 25747:062f4c69ff56 |
---|---|
186 return 0; | 186 return 0; |
187 | 187 |
188 return 1; | 188 return 1; |
189 } | 189 } |
190 | 190 |
191 static int icount; | |
192 static int idepth; | |
193 static int zero_length; | |
194 | 191 |
195 /* Traverse an interval tree TREE, performing FUNCTION on each node. | 192 /* Traverse an interval tree TREE, performing FUNCTION on each node. |
196 Pass FUNCTION two args: an interval, and ARG. */ | 193 Pass FUNCTION two args: an interval, and ARG. */ |
197 | 194 |
198 void | 195 void |
212 position += LENGTH (tree); | 209 position += LENGTH (tree); |
213 traverse_intervals (tree->right, position, depth + 1, function, arg); | 210 traverse_intervals (tree->right, position, depth + 1, function, arg); |
214 } | 211 } |
215 | 212 |
216 #if 0 | 213 #if 0 |
214 | |
215 static int icount; | |
216 static int idepth; | |
217 static int zero_length; | |
218 | |
217 /* These functions are temporary, for debugging purposes only. */ | 219 /* These functions are temporary, for debugging purposes only. */ |
218 | 220 |
219 INTERVAL search_interval, found_interval; | 221 INTERVAL search_interval, found_interval; |
220 | 222 |
221 void | 223 void |
293 INTERVAL B = interval->left; | 295 INTERVAL B = interval->left; |
294 int old_total = interval->total_length; | 296 int old_total = interval->total_length; |
295 | 297 |
296 /* Deal with any Parent of A; make it point to B. */ | 298 /* Deal with any Parent of A; make it point to B. */ |
297 if (! ROOT_INTERVAL_P (interval)) | 299 if (! ROOT_INTERVAL_P (interval)) |
298 if (AM_LEFT_CHILD (interval)) | 300 { |
299 interval->parent->left = B; | 301 if (AM_LEFT_CHILD (interval)) |
300 else | 302 interval->parent->left = B; |
301 interval->parent->right = B; | 303 else |
304 interval->parent->right = B; | |
305 } | |
302 B->parent = interval->parent; | 306 B->parent = interval->parent; |
303 | 307 |
304 /* Make B the parent of A */ | 308 /* Make B the parent of A */ |
305 i = B->right; | 309 i = B->right; |
306 B->right = interval; | 310 B->right = interval; |
337 INTERVAL B = interval->right; | 341 INTERVAL B = interval->right; |
338 int old_total = interval->total_length; | 342 int old_total = interval->total_length; |
339 | 343 |
340 /* Deal with any parent of A; make it point to B. */ | 344 /* Deal with any parent of A; make it point to B. */ |
341 if (! ROOT_INTERVAL_P (interval)) | 345 if (! ROOT_INTERVAL_P (interval)) |
342 if (AM_LEFT_CHILD (interval)) | 346 { |
343 interval->parent->left = B; | 347 if (AM_LEFT_CHILD (interval)) |
344 else | 348 interval->parent->left = B; |
345 interval->parent->right = B; | 349 else |
350 interval->parent->right = B; | |
351 } | |
346 B->parent = interval->parent; | 352 B->parent = interval->parent; |
347 | 353 |
348 /* Make B the parent of A */ | 354 /* Make B the parent of A */ |
349 i = B->left; | 355 i = B->left; |
350 B->left = interval; | 356 B->left = interval; |
512 split_interval_left (interval, offset) | 518 split_interval_left (interval, offset) |
513 INTERVAL interval; | 519 INTERVAL interval; |
514 int offset; | 520 int offset; |
515 { | 521 { |
516 INTERVAL new = make_interval (); | 522 INTERVAL new = make_interval (); |
517 int position = interval->position; | |
518 int new_length = offset; | 523 int new_length = offset; |
519 | 524 |
520 new->position = interval->position; | 525 new->position = interval->position; |
521 interval->position = interval->position + offset; | 526 interval->position = interval->position + offset; |
522 new->parent = interval; | 527 new->parent = interval; |
669 INTERVAL | 674 INTERVAL |
670 previous_interval (interval) | 675 previous_interval (interval) |
671 register INTERVAL interval; | 676 register INTERVAL interval; |
672 { | 677 { |
673 register INTERVAL i; | 678 register INTERVAL i; |
674 register int position_of_previous; | |
675 | 679 |
676 if (NULL_INTERVAL_P (interval)) | 680 if (NULL_INTERVAL_P (interval)) |
677 return NULL_INTERVAL; | 681 return NULL_INTERVAL; |
678 | 682 |
679 if (! NULL_LEFT_CHILD (interval)) | 683 if (! NULL_LEFT_CHILD (interval)) |
1283 struct buffer *buffer; | 1287 struct buffer *buffer; |
1284 int start, length; | 1288 int start, length; |
1285 { | 1289 { |
1286 register int left_to_delete = length; | 1290 register int left_to_delete = length; |
1287 register INTERVAL tree = BUF_INTERVALS (buffer); | 1291 register INTERVAL tree = BUF_INTERVALS (buffer); |
1288 register int deleted; | |
1289 Lisp_Object parent; | 1292 Lisp_Object parent; |
1290 int offset; | 1293 int offset; |
1291 | 1294 |
1292 XSETFASTINT (parent, (EMACS_INT) tree->parent); | 1295 XSETFASTINT (parent, (EMACS_INT) tree->parent); |
1293 offset = (BUFFERP (parent) ? BUF_BEG (XBUFFER (parent)) : 0); | 1296 offset = (BUFFERP (parent) ? BUF_BEG (XBUFFER (parent)) : 0); |
1775 void | 1778 void |
1776 set_point_both (buffer, charpos, bytepos) | 1779 set_point_both (buffer, charpos, bytepos) |
1777 register struct buffer *buffer; | 1780 register struct buffer *buffer; |
1778 register int charpos, bytepos; | 1781 register int charpos, bytepos; |
1779 { | 1782 { |
1780 register INTERVAL to, from, toprev, fromprev, target; | 1783 register INTERVAL to, from, toprev, fromprev; |
1781 int buffer_point; | 1784 int buffer_point; |
1782 register Lisp_Object obj; | |
1783 int old_position = BUF_PT (buffer); | 1785 int old_position = BUF_PT (buffer); |
1784 int backwards = (charpos < old_position ? 1 : 0); | 1786 int backwards = (charpos < old_position ? 1 : 0); |
1785 int have_overlays; | 1787 int have_overlays; |
1786 int original_position; | 1788 int original_position; |
1787 | 1789 |
2176 set_intervals_multibyte_1 (i, multi_flag, start, start_byte, end, end_byte) | 2178 set_intervals_multibyte_1 (i, multi_flag, start, start_byte, end, end_byte) |
2177 INTERVAL i; | 2179 INTERVAL i; |
2178 int multi_flag; | 2180 int multi_flag; |
2179 int start, start_byte, end, end_byte; | 2181 int start, start_byte, end, end_byte; |
2180 { | 2182 { |
2181 INTERVAL left, right; | |
2182 | |
2183 /* Fix the length of this interval. */ | 2183 /* Fix the length of this interval. */ |
2184 if (multi_flag) | 2184 if (multi_flag) |
2185 i->total_length = end - start; | 2185 i->total_length = end - start; |
2186 else | 2186 else |
2187 i->total_length = end_byte - start_byte; | 2187 i->total_length = end_byte - start_byte; |