diff options
| author | Paul Eggert | 2012-08-17 14:12:11 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-08-17 14:12:11 -0700 |
| commit | 0c94c8d603031f6b665ae7f3136ca77fb573fd7e (patch) | |
| tree | fabdd332bf09c4ea02198aa36a6a7bdab7e43397 | |
| parent | ee21815118944347ad0c45d47af651e7283709d2 (diff) | |
| download | emacs-0c94c8d603031f6b665ae7f3136ca77fb573fd7e.tar.gz emacs-0c94c8d603031f6b665ae7f3136ca77fb573fd7e.zip | |
A few more naming-convention fixes for getters and setters.
* buffer.c (set_buffer_overlays_before): Move here from buffer.h,
and rename from buffer_overlays_set_before.
(set_buffer_overlays_after): Move here from buffer.h, and rename
from buffer_overlays_set_after.
* buffer.h (buffer_intervals): Rename from buffer_get_intervals.
All uses changed.
(set_buffer_intervals): Rename from buffer_set_intervals.
* intervals.c (set_interval_object): Move here from intervals.h,
and rename from interval_set_object.
(set_interval_left): Move here from intervals.h, and rename from
interval_set_left.
(set_interval_right): Move here from intervals.h, and rename from
interval_set_right.
(copy_interval_parent): Move here from intervals.h, and rename from
interval_copy_parent.
* intervals.h (set_interval_parent): Rename from interval_set_parent.
(set_interval_plist): Rename from interval_set_plist.
Return void, not Lisp_Object, since no caller uses the result.
* lisp.h (string_intervals): Rename from string_get_intervals.
(set_string_intervals): Rename from string_set_intervals.
| -rw-r--r-- | src/ChangeLog | 22 | ||||
| -rw-r--r-- | src/alloc.c | 6 | ||||
| -rw-r--r-- | src/buffer.c | 71 | ||||
| -rw-r--r-- | src/buffer.h | 18 | ||||
| -rw-r--r-- | src/editfns.c | 6 | ||||
| -rw-r--r-- | src/fileio.c | 2 | ||||
| -rw-r--r-- | src/fns.c | 6 | ||||
| -rw-r--r-- | src/indent.c | 2 | ||||
| -rw-r--r-- | src/insdel.c | 18 | ||||
| -rw-r--r-- | src/intervals.c | 192 | ||||
| -rw-r--r-- | src/intervals.h | 39 | ||||
| -rw-r--r-- | src/lisp.h | 4 | ||||
| -rw-r--r-- | src/lread.c | 6 | ||||
| -rw-r--r-- | src/print.c | 10 | ||||
| -rw-r--r-- | src/textprop.c | 26 |
15 files changed, 223 insertions, 205 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 1b2a6412896..7b8bf5e52ad 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,27 @@ | |||
| 1 | 2012-08-17 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2012-08-17 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | A few more naming-convention fixes for getters and setters. | ||
| 4 | * buffer.c (set_buffer_overlays_before): Move here from buffer.h, | ||
| 5 | and rename from buffer_overlays_set_before. | ||
| 6 | (set_buffer_overlays_after): Move here from buffer.h, and rename | ||
| 7 | from buffer_overlays_set_after. | ||
| 8 | * buffer.h (buffer_intervals): Rename from buffer_get_intervals. | ||
| 9 | All uses changed. | ||
| 10 | (set_buffer_intervals): Rename from buffer_set_intervals. | ||
| 11 | * intervals.c (set_interval_object): Move here from intervals.h, | ||
| 12 | and rename from interval_set_object. | ||
| 13 | (set_interval_left): Move here from intervals.h, and rename from | ||
| 14 | interval_set_left. | ||
| 15 | (set_interval_right): Move here from intervals.h, and rename from | ||
| 16 | interval_set_right. | ||
| 17 | (copy_interval_parent): Move here from intervals.h, and rename from | ||
| 18 | interval_copy_parent. | ||
| 19 | * intervals.h (set_interval_parent): Rename from interval_set_parent. | ||
| 20 | (set_interval_plist): Rename from interval_set_plist. | ||
| 21 | Return void, not Lisp_Object, since no caller uses the result. | ||
| 22 | * lisp.h (string_intervals): Rename from string_get_intervals. | ||
| 23 | (set_string_intervals): Rename from string_set_intervals. | ||
| 24 | |||
| 3 | * lisp.h (set_char_table_extras): Rename from char_table_set_extras. | 25 | * lisp.h (set_char_table_extras): Rename from char_table_set_extras. |
| 4 | (set_char_table_contents): Rename from char_table_set_contents. | 26 | (set_char_table_contents): Rename from char_table_set_contents. |
| 5 | (set_sub_char_table_contents): Rename from sub_char_table_set_contents. | 27 | (set_sub_char_table_contents): Rename from sub_char_table_set_contents. |
diff --git a/src/alloc.c b/src/alloc.c index 1d484d4a322..522f33f5379 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -5836,7 +5836,7 @@ mark_buffer (struct buffer *buffer) | |||
| 5836 | 5836 | ||
| 5837 | /* ...but there are some buffer-specific things. */ | 5837 | /* ...but there are some buffer-specific things. */ |
| 5838 | 5838 | ||
| 5839 | MARK_INTERVAL_TREE (buffer_get_intervals (buffer)); | 5839 | MARK_INTERVAL_TREE (buffer_intervals (buffer)); |
| 5840 | 5840 | ||
| 5841 | /* For now, we just don't mark the undo_list. It's done later in | 5841 | /* For now, we just don't mark the undo_list. It's done later in |
| 5842 | a special way just before the sweep phase, and after stripping | 5842 | a special way just before the sweep phase, and after stripping |
| @@ -6090,7 +6090,7 @@ mark_object (Lisp_Object arg) | |||
| 6090 | } | 6090 | } |
| 6091 | if (!PURE_POINTER_P (XSTRING (ptr->name))) | 6091 | if (!PURE_POINTER_P (XSTRING (ptr->name))) |
| 6092 | MARK_STRING (XSTRING (ptr->name)); | 6092 | MARK_STRING (XSTRING (ptr->name)); |
| 6093 | MARK_INTERVAL_TREE (string_get_intervals (ptr->name)); | 6093 | MARK_INTERVAL_TREE (string_intervals (ptr->name)); |
| 6094 | 6094 | ||
| 6095 | ptr = ptr->next; | 6095 | ptr = ptr->next; |
| 6096 | if (ptr) | 6096 | if (ptr) |
| @@ -6405,7 +6405,7 @@ gc_sweep (void) | |||
| 6405 | { | 6405 | { |
| 6406 | if (!iblk->intervals[i].gcmarkbit) | 6406 | if (!iblk->intervals[i].gcmarkbit) |
| 6407 | { | 6407 | { |
| 6408 | interval_set_parent (&iblk->intervals[i], interval_free_list); | 6408 | set_interval_parent (&iblk->intervals[i], interval_free_list); |
| 6409 | interval_free_list = &iblk->intervals[i]; | 6409 | interval_free_list = &iblk->intervals[i]; |
| 6410 | this_free++; | 6410 | this_free++; |
| 6411 | } | 6411 | } |
diff --git a/src/buffer.c b/src/buffer.c index 56d6231f5f8..75377abb758 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -360,7 +360,7 @@ even if it is dead. The return value is never nil. */) | |||
| 360 | BUF_CHARS_MODIFF (b) = 1; | 360 | BUF_CHARS_MODIFF (b) = 1; |
| 361 | BUF_OVERLAY_MODIFF (b) = 1; | 361 | BUF_OVERLAY_MODIFF (b) = 1; |
| 362 | BUF_SAVE_MODIFF (b) = 1; | 362 | BUF_SAVE_MODIFF (b) = 1; |
| 363 | buffer_set_intervals (b, NULL); | 363 | set_buffer_intervals (b, NULL); |
| 364 | BUF_UNCHANGED_MODIFIED (b) = 1; | 364 | BUF_UNCHANGED_MODIFIED (b) = 1; |
| 365 | BUF_OVERLAY_UNCHANGED_MODIFIED (b) = 1; | 365 | BUF_OVERLAY_UNCHANGED_MODIFIED (b) = 1; |
| 366 | BUF_END_UNCHANGED (b) = 0; | 366 | BUF_END_UNCHANGED (b) = 0; |
| @@ -384,7 +384,7 @@ even if it is dead. The return value is never nil. */) | |||
| 384 | BSET (b, zv_marker, Qnil); | 384 | BSET (b, zv_marker, Qnil); |
| 385 | 385 | ||
| 386 | name = Fcopy_sequence (buffer_or_name); | 386 | name = Fcopy_sequence (buffer_or_name); |
| 387 | string_set_intervals (name, NULL); | 387 | set_string_intervals (name, NULL); |
| 388 | BSET (b, name, name); | 388 | BSET (b, name, name); |
| 389 | 389 | ||
| 390 | BSET (b, undo_list, (SREF (name, 0) != ' ') ? Qnil : Qt); | 390 | BSET (b, undo_list, (SREF (name, 0) != ' ') ? Qnil : Qt); |
| @@ -439,6 +439,19 @@ copy_overlays (struct buffer *b, struct Lisp_Overlay *list) | |||
| 439 | return result; | 439 | return result; |
| 440 | } | 440 | } |
| 441 | 441 | ||
| 442 | /* Set an appropriate overlay of B. */ | ||
| 443 | |||
| 444 | static inline void | ||
| 445 | set_buffer_overlays_before (struct buffer *b, struct Lisp_Overlay *o) | ||
| 446 | { | ||
| 447 | b->overlays_before = o; | ||
| 448 | } | ||
| 449 | |||
| 450 | static inline void | ||
| 451 | set_buffer_overlays_after (struct buffer *b, struct Lisp_Overlay *o) | ||
| 452 | { | ||
| 453 | b->overlays_after = o; | ||
| 454 | } | ||
| 442 | 455 | ||
| 443 | /* Clone per-buffer values of buffer FROM. | 456 | /* Clone per-buffer values of buffer FROM. |
| 444 | 457 | ||
| @@ -474,8 +487,8 @@ clone_per_buffer_values (struct buffer *from, struct buffer *to) | |||
| 474 | 487 | ||
| 475 | memcpy (to->local_flags, from->local_flags, sizeof to->local_flags); | 488 | memcpy (to->local_flags, from->local_flags, sizeof to->local_flags); |
| 476 | 489 | ||
| 477 | buffer_set_overlays_before (to, copy_overlays (to, from->overlays_before)); | 490 | set_buffer_overlays_before (to, copy_overlays (to, from->overlays_before)); |
| 478 | buffer_set_overlays_after (to, copy_overlays (to, from->overlays_after)); | 491 | set_buffer_overlays_after (to, copy_overlays (to, from->overlays_after)); |
| 479 | 492 | ||
| 480 | /* Get (a copy of) the alist of Lisp-level local variables of FROM | 493 | /* Get (a copy of) the alist of Lisp-level local variables of FROM |
| 481 | and install that in TO. */ | 494 | and install that in TO. */ |
| @@ -589,7 +602,7 @@ CLONE nil means the indirect buffer's state is reset to default values. */) | |||
| 589 | all_buffers = b; | 602 | all_buffers = b; |
| 590 | 603 | ||
| 591 | name = Fcopy_sequence (name); | 604 | name = Fcopy_sequence (name); |
| 592 | string_set_intervals (name, NULL); | 605 | set_string_intervals (name, NULL); |
| 593 | BSET (b, name, name); | 606 | BSET (b, name, name); |
| 594 | 607 | ||
| 595 | reset_buffer (b); | 608 | reset_buffer (b); |
| @@ -688,8 +701,8 @@ delete_all_overlays (struct buffer *b) | |||
| 688 | ov->next = NULL; | 701 | ov->next = NULL; |
| 689 | } | 702 | } |
| 690 | 703 | ||
| 691 | buffer_set_overlays_before (b, NULL); | 704 | set_buffer_overlays_before (b, NULL); |
| 692 | buffer_set_overlays_after (b, NULL); | 705 | set_buffer_overlays_after (b, NULL); |
| 693 | } | 706 | } |
| 694 | 707 | ||
| 695 | /* Reinitialize everything about a buffer except its name and contents | 708 | /* Reinitialize everything about a buffer except its name and contents |
| @@ -718,8 +731,8 @@ reset_buffer (register struct buffer *b) | |||
| 718 | b->auto_save_failure_time = 0; | 731 | b->auto_save_failure_time = 0; |
| 719 | BSET (b, auto_save_file_name, Qnil); | 732 | BSET (b, auto_save_file_name, Qnil); |
| 720 | BSET (b, read_only, Qnil); | 733 | BSET (b, read_only, Qnil); |
| 721 | buffer_set_overlays_before (b, NULL); | 734 | set_buffer_overlays_before (b, NULL); |
| 722 | buffer_set_overlays_after (b, NULL); | 735 | set_buffer_overlays_after (b, NULL); |
| 723 | b->overlay_center = BEG; | 736 | b->overlay_center = BEG; |
| 724 | BSET (b, mark_active, Qnil); | 737 | BSET (b, mark_active, Qnil); |
| 725 | BSET (b, point_before_scroll, Qnil); | 738 | BSET (b, point_before_scroll, Qnil); |
| @@ -1691,7 +1704,7 @@ cleaning up all windows currently displaying the buffer to be killed. */) | |||
| 1691 | m = next; | 1704 | m = next; |
| 1692 | } | 1705 | } |
| 1693 | BUF_MARKERS (b) = NULL; | 1706 | BUF_MARKERS (b) = NULL; |
| 1694 | buffer_set_intervals (b, NULL); | 1707 | set_buffer_intervals (b, NULL); |
| 1695 | 1708 | ||
| 1696 | /* Perhaps we should explicitly free the interval tree here... */ | 1709 | /* Perhaps we should explicitly free the interval tree here... */ |
| 1697 | } | 1710 | } |
| @@ -3238,7 +3251,7 @@ recenter_overlay_lists (struct buffer *buf, ptrdiff_t pos) | |||
| 3238 | if (prev) | 3251 | if (prev) |
| 3239 | prev->next = next; | 3252 | prev->next = next; |
| 3240 | else | 3253 | else |
| 3241 | buffer_set_overlays_before (buf, next); | 3254 | set_buffer_overlays_before (buf, next); |
| 3242 | 3255 | ||
| 3243 | /* Search thru overlays_after for where to put it. */ | 3256 | /* Search thru overlays_after for where to put it. */ |
| 3244 | other_prev = NULL; | 3257 | other_prev = NULL; |
| @@ -3260,7 +3273,7 @@ recenter_overlay_lists (struct buffer *buf, ptrdiff_t pos) | |||
| 3260 | if (other_prev) | 3273 | if (other_prev) |
| 3261 | other_prev->next = tail; | 3274 | other_prev->next = tail; |
| 3262 | else | 3275 | else |
| 3263 | buffer_set_overlays_after (buf, tail); | 3276 | set_buffer_overlays_after (buf, tail); |
| 3264 | tail = prev; | 3277 | tail = prev; |
| 3265 | } | 3278 | } |
| 3266 | else | 3279 | else |
| @@ -3296,7 +3309,7 @@ recenter_overlay_lists (struct buffer *buf, ptrdiff_t pos) | |||
| 3296 | if (prev) | 3309 | if (prev) |
| 3297 | prev->next = next; | 3310 | prev->next = next; |
| 3298 | else | 3311 | else |
| 3299 | buffer_set_overlays_after (buf, next); | 3312 | set_buffer_overlays_after (buf, next); |
| 3300 | 3313 | ||
| 3301 | /* Search thru overlays_before for where to put it. */ | 3314 | /* Search thru overlays_before for where to put it. */ |
| 3302 | other_prev = NULL; | 3315 | other_prev = NULL; |
| @@ -3318,7 +3331,7 @@ recenter_overlay_lists (struct buffer *buf, ptrdiff_t pos) | |||
| 3318 | if (other_prev) | 3331 | if (other_prev) |
| 3319 | other_prev->next = tail; | 3332 | other_prev->next = tail; |
| 3320 | else | 3333 | else |
| 3321 | buffer_set_overlays_before (buf, tail); | 3334 | set_buffer_overlays_before (buf, tail); |
| 3322 | tail = prev; | 3335 | tail = prev; |
| 3323 | } | 3336 | } |
| 3324 | } | 3337 | } |
| @@ -3423,7 +3436,7 @@ fix_start_end_in_overlays (register ptrdiff_t start, register ptrdiff_t end) | |||
| 3423 | beforep = tail; | 3436 | beforep = tail; |
| 3424 | } | 3437 | } |
| 3425 | if (!parent) | 3438 | if (!parent) |
| 3426 | buffer_set_overlays_before (current_buffer, tail->next); | 3439 | set_buffer_overlays_before (current_buffer, tail->next); |
| 3427 | else | 3440 | else |
| 3428 | parent->next = tail->next; | 3441 | parent->next = tail->next; |
| 3429 | tail = tail->next; | 3442 | tail = tail->next; |
| @@ -3469,7 +3482,7 @@ fix_start_end_in_overlays (register ptrdiff_t start, register ptrdiff_t end) | |||
| 3469 | beforep = tail; | 3482 | beforep = tail; |
| 3470 | } | 3483 | } |
| 3471 | if (!parent) | 3484 | if (!parent) |
| 3472 | buffer_set_overlays_after (current_buffer, tail->next); | 3485 | set_buffer_overlays_after (current_buffer, tail->next); |
| 3473 | else | 3486 | else |
| 3474 | parent->next = tail->next; | 3487 | parent->next = tail->next; |
| 3475 | tail = tail->next; | 3488 | tail = tail->next; |
| @@ -3483,14 +3496,14 @@ fix_start_end_in_overlays (register ptrdiff_t start, register ptrdiff_t end) | |||
| 3483 | if (beforep) | 3496 | if (beforep) |
| 3484 | { | 3497 | { |
| 3485 | beforep->next = current_buffer->overlays_before; | 3498 | beforep->next = current_buffer->overlays_before; |
| 3486 | buffer_set_overlays_before (current_buffer, before_list); | 3499 | set_buffer_overlays_before (current_buffer, before_list); |
| 3487 | } | 3500 | } |
| 3488 | recenter_overlay_lists (current_buffer, current_buffer->overlay_center); | 3501 | recenter_overlay_lists (current_buffer, current_buffer->overlay_center); |
| 3489 | 3502 | ||
| 3490 | if (afterp) | 3503 | if (afterp) |
| 3491 | { | 3504 | { |
| 3492 | afterp->next = current_buffer->overlays_after; | 3505 | afterp->next = current_buffer->overlays_after; |
| 3493 | buffer_set_overlays_after (current_buffer, after_list); | 3506 | set_buffer_overlays_after (current_buffer, after_list); |
| 3494 | } | 3507 | } |
| 3495 | recenter_overlay_lists (current_buffer, current_buffer->overlay_center); | 3508 | recenter_overlay_lists (current_buffer, current_buffer->overlay_center); |
| 3496 | } | 3509 | } |
| @@ -3567,7 +3580,7 @@ fix_overlays_before (struct buffer *bp, ptrdiff_t prev, ptrdiff_t pos) | |||
| 3567 | if (!right_pair) | 3580 | if (!right_pair) |
| 3568 | { | 3581 | { |
| 3569 | found->next = bp->overlays_before; | 3582 | found->next = bp->overlays_before; |
| 3570 | buffer_set_overlays_before (bp, found); | 3583 | set_buffer_overlays_before (bp, found); |
| 3571 | } | 3584 | } |
| 3572 | else | 3585 | else |
| 3573 | { | 3586 | { |
| @@ -3645,13 +3658,13 @@ for the rear of the overlay advance when text is inserted there | |||
| 3645 | { | 3658 | { |
| 3646 | if (b->overlays_after) | 3659 | if (b->overlays_after) |
| 3647 | XOVERLAY (overlay)->next = b->overlays_after; | 3660 | XOVERLAY (overlay)->next = b->overlays_after; |
| 3648 | buffer_set_overlays_after (b, XOVERLAY (overlay)); | 3661 | set_buffer_overlays_after (b, XOVERLAY (overlay)); |
| 3649 | } | 3662 | } |
| 3650 | else | 3663 | else |
| 3651 | { | 3664 | { |
| 3652 | if (b->overlays_before) | 3665 | if (b->overlays_before) |
| 3653 | XOVERLAY (overlay)->next = b->overlays_before; | 3666 | XOVERLAY (overlay)->next = b->overlays_before; |
| 3654 | buffer_set_overlays_before (b, XOVERLAY (overlay)); | 3667 | set_buffer_overlays_before (b, XOVERLAY (overlay)); |
| 3655 | } | 3668 | } |
| 3656 | 3669 | ||
| 3657 | /* This puts it in the right list, and in the right order. */ | 3670 | /* This puts it in the right list, and in the right order. */ |
| @@ -3716,8 +3729,8 @@ unchain_both (struct buffer *b, Lisp_Object overlay) | |||
| 3716 | { | 3729 | { |
| 3717 | struct Lisp_Overlay *ov = XOVERLAY (overlay); | 3730 | struct Lisp_Overlay *ov = XOVERLAY (overlay); |
| 3718 | 3731 | ||
| 3719 | buffer_set_overlays_before (b, unchain_overlay (b->overlays_before, ov)); | 3732 | set_buffer_overlays_before (b, unchain_overlay (b->overlays_before, ov)); |
| 3720 | buffer_set_overlays_after (b, unchain_overlay (b->overlays_after, ov)); | 3733 | set_buffer_overlays_after (b, unchain_overlay (b->overlays_after, ov)); |
| 3721 | eassert (XOVERLAY (overlay)->next == NULL); | 3734 | eassert (XOVERLAY (overlay)->next == NULL); |
| 3722 | } | 3735 | } |
| 3723 | 3736 | ||
| @@ -3812,12 +3825,12 @@ buffer. */) | |||
| 3812 | if (n_end < b->overlay_center) | 3825 | if (n_end < b->overlay_center) |
| 3813 | { | 3826 | { |
| 3814 | XOVERLAY (overlay)->next = b->overlays_after; | 3827 | XOVERLAY (overlay)->next = b->overlays_after; |
| 3815 | buffer_set_overlays_after (b, XOVERLAY (overlay)); | 3828 | set_buffer_overlays_after (b, XOVERLAY (overlay)); |
| 3816 | } | 3829 | } |
| 3817 | else | 3830 | else |
| 3818 | { | 3831 | { |
| 3819 | XOVERLAY (overlay)->next = b->overlays_before; | 3832 | XOVERLAY (overlay)->next = b->overlays_before; |
| 3820 | buffer_set_overlays_before (b, XOVERLAY (overlay)); | 3833 | set_buffer_overlays_before (b, XOVERLAY (overlay)); |
| 3821 | } | 3834 | } |
| 3822 | 3835 | ||
| 3823 | /* This puts it in the right list, and in the right order. */ | 3836 | /* This puts it in the right list, and in the right order. */ |
| @@ -4913,8 +4926,8 @@ init_buffer_once (void) | |||
| 4913 | /* No one will share the text with these buffers, but let's play it safe. */ | 4926 | /* No one will share the text with these buffers, but let's play it safe. */ |
| 4914 | buffer_defaults.indirections = 0; | 4927 | buffer_defaults.indirections = 0; |
| 4915 | buffer_local_symbols.indirections = 0; | 4928 | buffer_local_symbols.indirections = 0; |
| 4916 | buffer_set_intervals (&buffer_defaults, NULL); | 4929 | set_buffer_intervals (&buffer_defaults, NULL); |
| 4917 | buffer_set_intervals (&buffer_local_symbols, NULL); | 4930 | set_buffer_intervals (&buffer_local_symbols, NULL); |
| 4918 | XSETPVECTYPESIZE (&buffer_defaults, PVEC_BUFFER, pvecsize); | 4931 | XSETPVECTYPESIZE (&buffer_defaults, PVEC_BUFFER, pvecsize); |
| 4919 | XSETBUFFER (Vbuffer_defaults, &buffer_defaults); | 4932 | XSETBUFFER (Vbuffer_defaults, &buffer_defaults); |
| 4920 | XSETPVECTYPESIZE (&buffer_local_symbols, PVEC_BUFFER, pvecsize); | 4933 | XSETPVECTYPESIZE (&buffer_local_symbols, PVEC_BUFFER, pvecsize); |
| @@ -4938,8 +4951,8 @@ init_buffer_once (void) | |||
| 4938 | BSET (&buffer_defaults, mark_active, Qnil); | 4951 | BSET (&buffer_defaults, mark_active, Qnil); |
| 4939 | BSET (&buffer_defaults, file_format, Qnil); | 4952 | BSET (&buffer_defaults, file_format, Qnil); |
| 4940 | BSET (&buffer_defaults, auto_save_file_format, Qt); | 4953 | BSET (&buffer_defaults, auto_save_file_format, Qt); |
| 4941 | buffer_set_overlays_before (&buffer_defaults, NULL); | 4954 | set_buffer_overlays_before (&buffer_defaults, NULL); |
| 4942 | buffer_set_overlays_after (&buffer_defaults, NULL); | 4955 | set_buffer_overlays_after (&buffer_defaults, NULL); |
| 4943 | buffer_defaults.overlay_center = BEG; | 4956 | buffer_defaults.overlay_center = BEG; |
| 4944 | 4957 | ||
| 4945 | XSETFASTINT (BVAR (&buffer_defaults, tab_width), 8); | 4958 | XSETFASTINT (BVAR (&buffer_defaults, tab_width), 8); |
diff --git a/src/buffer.h b/src/buffer.h index 7a6bddee5ec..507b15e8b4a 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -953,7 +953,7 @@ extern Lisp_Object Qfirst_change_hook; | |||
| 953 | /* Get text properties of B. */ | 953 | /* Get text properties of B. */ |
| 954 | 954 | ||
| 955 | BUFFER_INLINE INTERVAL | 955 | BUFFER_INLINE INTERVAL |
| 956 | buffer_get_intervals (struct buffer *b) | 956 | buffer_intervals (struct buffer *b) |
| 957 | { | 957 | { |
| 958 | eassert (b->text != NULL); | 958 | eassert (b->text != NULL); |
| 959 | return b->text->intervals; | 959 | return b->text->intervals; |
| @@ -962,26 +962,12 @@ buffer_get_intervals (struct buffer *b) | |||
| 962 | /* Set text properties of B to I. */ | 962 | /* Set text properties of B to I. */ |
| 963 | 963 | ||
| 964 | BUFFER_INLINE void | 964 | BUFFER_INLINE void |
| 965 | buffer_set_intervals (struct buffer *b, INTERVAL i) | 965 | set_buffer_intervals (struct buffer *b, INTERVAL i) |
| 966 | { | 966 | { |
| 967 | eassert (b->text != NULL); | 967 | eassert (b->text != NULL); |
| 968 | b->text->intervals = i; | 968 | b->text->intervals = i; |
| 969 | } | 969 | } |
| 970 | 970 | ||
| 971 | /* Set an appropriate overlay of B. */ | ||
| 972 | |||
| 973 | BUFFER_INLINE void | ||
| 974 | buffer_set_overlays_before (struct buffer *b, struct Lisp_Overlay *o) | ||
| 975 | { | ||
| 976 | b->overlays_before = o; | ||
| 977 | } | ||
| 978 | |||
| 979 | BUFFER_INLINE void | ||
| 980 | buffer_set_overlays_after (struct buffer *b, struct Lisp_Overlay *o) | ||
| 981 | { | ||
| 982 | b->overlays_after = o; | ||
| 983 | } | ||
| 984 | |||
| 985 | /* Non-zero if current buffer has overlays. */ | 971 | /* Non-zero if current buffer has overlays. */ |
| 986 | 972 | ||
| 987 | BUFFER_INLINE int | 973 | BUFFER_INLINE int |
diff --git a/src/editfns.c b/src/editfns.c index b7feb733782..5445561fad3 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3936,7 +3936,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3936 | 3936 | ||
| 3937 | /* If this argument has text properties, record where | 3937 | /* If this argument has text properties, record where |
| 3938 | in the result string it appears. */ | 3938 | in the result string it appears. */ |
| 3939 | if (string_get_intervals (args[n])) | 3939 | if (string_intervals (args[n])) |
| 3940 | info[n].intervals = arg_intervals = 1; | 3940 | info[n].intervals = arg_intervals = 1; |
| 3941 | 3941 | ||
| 3942 | continue; | 3942 | continue; |
| @@ -4280,7 +4280,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 4280 | arguments has text properties, set up text properties of the | 4280 | arguments has text properties, set up text properties of the |
| 4281 | result string. */ | 4281 | result string. */ |
| 4282 | 4282 | ||
| 4283 | if (string_get_intervals (args[0]) || arg_intervals) | 4283 | if (string_intervals (args[0]) || arg_intervals) |
| 4284 | { | 4284 | { |
| 4285 | Lisp_Object len, new_len, props; | 4285 | Lisp_Object len, new_len, props; |
| 4286 | struct gcpro gcpro1; | 4286 | struct gcpro gcpro1; |
| @@ -4530,7 +4530,7 @@ Transposing beyond buffer boundaries is an error. */) | |||
| 4530 | Lisp_Object buf; | 4530 | Lisp_Object buf; |
| 4531 | 4531 | ||
| 4532 | XSETBUFFER (buf, current_buffer); | 4532 | XSETBUFFER (buf, current_buffer); |
| 4533 | cur_intv = buffer_get_intervals (current_buffer); | 4533 | cur_intv = buffer_intervals (current_buffer); |
| 4534 | 4534 | ||
| 4535 | validate_region (&startr1, &endr1); | 4535 | validate_region (&startr1, &endr1); |
| 4536 | validate_region (&startr2, &endr2); | 4536 | validate_region (&startr2, &endr2); |
diff --git a/src/fileio.c b/src/fileio.c index 5991a238ffc..5d3ba6a14ae 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -3146,7 +3146,7 @@ decide_coding_unwind (Lisp_Object unwind_data) | |||
| 3146 | set_buffer_internal (XBUFFER (buffer)); | 3146 | set_buffer_internal (XBUFFER (buffer)); |
| 3147 | adjust_markers_for_delete (BEG, BEG_BYTE, Z, Z_BYTE); | 3147 | adjust_markers_for_delete (BEG, BEG_BYTE, Z, Z_BYTE); |
| 3148 | adjust_overlays_for_delete (BEG, Z - BEG); | 3148 | adjust_overlays_for_delete (BEG, Z - BEG); |
| 3149 | buffer_set_intervals (current_buffer, NULL); | 3149 | set_buffer_intervals (current_buffer, NULL); |
| 3150 | TEMP_SET_PT_BOTH (BEG, BEG_BYTE); | 3150 | TEMP_SET_PT_BOTH (BEG, BEG_BYTE); |
| 3151 | 3151 | ||
| 3152 | /* Now we are safe to change the buffer's multibyteness directly. */ | 3152 | /* Now we are safe to change the buffer's multibyteness directly. */ |
| @@ -628,7 +628,7 @@ concat (ptrdiff_t nargs, Lisp_Object *args, | |||
| 628 | ptrdiff_t thislen_byte = SBYTES (this); | 628 | ptrdiff_t thislen_byte = SBYTES (this); |
| 629 | 629 | ||
| 630 | memcpy (SDATA (val) + toindex_byte, SDATA (this), SBYTES (this)); | 630 | memcpy (SDATA (val) + toindex_byte, SDATA (this), SBYTES (this)); |
| 631 | if (string_get_intervals (this)) | 631 | if (string_intervals (this)) |
| 632 | { | 632 | { |
| 633 | textprops[num_textprops].argnum = argnum; | 633 | textprops[num_textprops].argnum = argnum; |
| 634 | textprops[num_textprops].from = 0; | 634 | textprops[num_textprops].from = 0; |
| @@ -640,7 +640,7 @@ concat (ptrdiff_t nargs, Lisp_Object *args, | |||
| 640 | /* Copy a single-byte string to a multibyte string. */ | 640 | /* Copy a single-byte string to a multibyte string. */ |
| 641 | else if (STRINGP (this) && STRINGP (val)) | 641 | else if (STRINGP (this) && STRINGP (val)) |
| 642 | { | 642 | { |
| 643 | if (string_get_intervals (this)) | 643 | if (string_intervals (this)) |
| 644 | { | 644 | { |
| 645 | textprops[num_textprops].argnum = argnum; | 645 | textprops[num_textprops].argnum = argnum; |
| 646 | textprops[num_textprops].from = 0; | 646 | textprops[num_textprops].from = 0; |
| @@ -1060,7 +1060,7 @@ If you're not sure, whether to use `string-as-multibyte' or | |||
| 1060 | str_as_multibyte (SDATA (new_string), nbytes, | 1060 | str_as_multibyte (SDATA (new_string), nbytes, |
| 1061 | SBYTES (string), NULL); | 1061 | SBYTES (string), NULL); |
| 1062 | string = new_string; | 1062 | string = new_string; |
| 1063 | string_set_intervals (string, NULL); | 1063 | set_string_intervals (string, NULL); |
| 1064 | } | 1064 | } |
| 1065 | return string; | 1065 | return string; |
| 1066 | } | 1066 | } |
diff --git a/src/indent.c b/src/indent.c index 881e5d7ddaf..d4b15e876f3 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -336,7 +336,7 @@ current_column (void) | |||
| 336 | 336 | ||
| 337 | /* If the buffer has overlays, text properties, | 337 | /* If the buffer has overlays, text properties, |
| 338 | or multibyte characters, use a more general algorithm. */ | 338 | or multibyte characters, use a more general algorithm. */ |
| 339 | if (buffer_get_intervals (current_buffer) | 339 | if (buffer_intervals (current_buffer) |
| 340 | || buffer_has_overlays () | 340 | || buffer_has_overlays () |
| 341 | || Z != Z_BYTE) | 341 | || Z != Z_BYTE) |
| 342 | return current_column_1 (); | 342 | return current_column_1 (); |
diff --git a/src/insdel.c b/src/insdel.c index 14d2dab084d..fe10879b9f8 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -844,10 +844,10 @@ insert_1_both (const char *string, | |||
| 844 | PT + nchars, PT_BYTE + nbytes, | 844 | PT + nchars, PT_BYTE + nbytes, |
| 845 | before_markers); | 845 | before_markers); |
| 846 | 846 | ||
| 847 | if (buffer_get_intervals (current_buffer)) | 847 | if (buffer_intervals (current_buffer)) |
| 848 | offset_intervals (current_buffer, PT, nchars); | 848 | offset_intervals (current_buffer, PT, nchars); |
| 849 | 849 | ||
| 850 | if (!inherit && buffer_get_intervals (current_buffer)) | 850 | if (!inherit && buffer_intervals (current_buffer)) |
| 851 | set_text_properties (make_number (PT), make_number (PT + nchars), | 851 | set_text_properties (make_number (PT), make_number (PT + nchars), |
| 852 | Qnil, Qnil, Qnil); | 852 | Qnil, Qnil, Qnil); |
| 853 | 853 | ||
| @@ -976,7 +976,7 @@ insert_from_string_1 (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, | |||
| 976 | 976 | ||
| 977 | offset_intervals (current_buffer, PT, nchars); | 977 | offset_intervals (current_buffer, PT, nchars); |
| 978 | 978 | ||
| 979 | intervals = string_get_intervals (string); | 979 | intervals = string_intervals (string); |
| 980 | /* Get the intervals for the part of the string we are inserting. */ | 980 | /* Get the intervals for the part of the string we are inserting. */ |
| 981 | if (nbytes < SBYTES (string)) | 981 | if (nbytes < SBYTES (string)) |
| 982 | intervals = copy_intervals (intervals, pos, nchars); | 982 | intervals = copy_intervals (intervals, pos, nchars); |
| @@ -1017,7 +1017,7 @@ insert_from_gap (ptrdiff_t nchars, ptrdiff_t nbytes) | |||
| 1017 | adjust_markers_for_insert (GPT - nchars, GPT_BYTE - nbytes, | 1017 | adjust_markers_for_insert (GPT - nchars, GPT_BYTE - nbytes, |
| 1018 | GPT, GPT_BYTE, 0); | 1018 | GPT, GPT_BYTE, 0); |
| 1019 | 1019 | ||
| 1020 | if (buffer_get_intervals (current_buffer)) | 1020 | if (buffer_intervals (current_buffer)) |
| 1021 | { | 1021 | { |
| 1022 | offset_intervals (current_buffer, GPT - nchars, nchars); | 1022 | offset_intervals (current_buffer, GPT - nchars, nchars); |
| 1023 | graft_intervals_into_buffer (NULL, GPT - nchars, nchars, | 1023 | graft_intervals_into_buffer (NULL, GPT - nchars, nchars, |
| @@ -1157,11 +1157,11 @@ insert_from_buffer_1 (struct buffer *buf, | |||
| 1157 | PT_BYTE + outgoing_nbytes, | 1157 | PT_BYTE + outgoing_nbytes, |
| 1158 | 0); | 1158 | 0); |
| 1159 | 1159 | ||
| 1160 | if (buffer_get_intervals (current_buffer)) | 1160 | if (buffer_intervals (current_buffer)) |
| 1161 | offset_intervals (current_buffer, PT, nchars); | 1161 | offset_intervals (current_buffer, PT, nchars); |
| 1162 | 1162 | ||
| 1163 | /* Get the intervals for the part of the string we are inserting. */ | 1163 | /* Get the intervals for the part of the string we are inserting. */ |
| 1164 | intervals = buffer_get_intervals (buf); | 1164 | intervals = buffer_intervals (buf); |
| 1165 | if (nchars < BUF_Z (buf) - BUF_BEG (buf)) | 1165 | if (nchars < BUF_Z (buf) - BUF_BEG (buf)) |
| 1166 | { | 1166 | { |
| 1167 | if (buf == current_buffer && PT <= from) | 1167 | if (buf == current_buffer && PT <= from) |
| @@ -1226,7 +1226,7 @@ adjust_after_replace (ptrdiff_t from, ptrdiff_t from_byte, | |||
| 1226 | else if (len < nchars_del) | 1226 | else if (len < nchars_del) |
| 1227 | adjust_overlays_for_delete (from, nchars_del - len); | 1227 | adjust_overlays_for_delete (from, nchars_del - len); |
| 1228 | 1228 | ||
| 1229 | if (buffer_get_intervals (current_buffer)) | 1229 | if (buffer_intervals (current_buffer)) |
| 1230 | offset_intervals (current_buffer, from, len - nchars_del); | 1230 | offset_intervals (current_buffer, from, len - nchars_del); |
| 1231 | 1231 | ||
| 1232 | if (from < PT) | 1232 | if (from < PT) |
| @@ -1412,7 +1412,7 @@ replace_range (ptrdiff_t from, ptrdiff_t to, Lisp_Object new, | |||
| 1412 | 1412 | ||
| 1413 | /* Get the intervals for the part of the string we are inserting-- | 1413 | /* Get the intervals for the part of the string we are inserting-- |
| 1414 | not including the combined-before bytes. */ | 1414 | not including the combined-before bytes. */ |
| 1415 | intervals = string_get_intervals (new); | 1415 | intervals = string_intervals (new); |
| 1416 | /* Insert those intervals. */ | 1416 | /* Insert those intervals. */ |
| 1417 | graft_intervals_into_buffer (intervals, from, inschars, | 1417 | graft_intervals_into_buffer (intervals, from, inschars, |
| 1418 | current_buffer, inherit); | 1418 | current_buffer, inherit); |
| @@ -1822,7 +1822,7 @@ prepare_to_modify_buffer (ptrdiff_t start, ptrdiff_t end, | |||
| 1822 | if (XBUFFER (XWINDOW (selected_window)->buffer) != current_buffer) | 1822 | if (XBUFFER (XWINDOW (selected_window)->buffer) != current_buffer) |
| 1823 | ++windows_or_buffers_changed; | 1823 | ++windows_or_buffers_changed; |
| 1824 | 1824 | ||
| 1825 | if (buffer_get_intervals (current_buffer)) | 1825 | if (buffer_intervals (current_buffer)) |
| 1826 | { | 1826 | { |
| 1827 | if (preserve_ptr) | 1827 | if (preserve_ptr) |
| 1828 | { | 1828 | { |
diff --git a/src/intervals.c b/src/intervals.c index b0ef7c8d3b9..2dcf208a676 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -62,6 +62,38 @@ static INTERVAL reproduce_tree (INTERVAL, INTERVAL); | |||
| 62 | 62 | ||
| 63 | /* Utility functions for intervals. */ | 63 | /* Utility functions for intervals. */ |
| 64 | 64 | ||
| 65 | /* Use these functions to set Lisp_Object | ||
| 66 | or pointer slots of struct interval. */ | ||
| 67 | |||
| 68 | static inline void | ||
| 69 | set_interval_object (INTERVAL i, Lisp_Object obj) | ||
| 70 | { | ||
| 71 | eassert (BUFFERP (obj) || STRINGP (obj)); | ||
| 72 | i->up_obj = 1; | ||
| 73 | i->up.obj = obj; | ||
| 74 | } | ||
| 75 | |||
| 76 | static inline void | ||
| 77 | set_interval_left (INTERVAL i, INTERVAL left) | ||
| 78 | { | ||
| 79 | i->left = left; | ||
| 80 | } | ||
| 81 | |||
| 82 | static inline void | ||
| 83 | set_interval_right (INTERVAL i, INTERVAL right) | ||
| 84 | { | ||
| 85 | i->right = right; | ||
| 86 | } | ||
| 87 | |||
| 88 | /* Make the parent of D be whatever the parent of S is, regardless | ||
| 89 | of the type. This is used when balancing an interval tree. */ | ||
| 90 | |||
| 91 | static inline void | ||
| 92 | copy_interval_parent (INTERVAL d, INTERVAL s) | ||
| 93 | { | ||
| 94 | d->up = s->up; | ||
| 95 | d->up_obj = s->up_obj; | ||
| 96 | } | ||
| 65 | 97 | ||
| 66 | /* Create the root interval of some object, a buffer or string. */ | 98 | /* Create the root interval of some object, a buffer or string. */ |
| 67 | 99 | ||
| @@ -79,18 +111,18 @@ create_root_interval (Lisp_Object parent) | |||
| 79 | new->total_length = (BUF_Z (XBUFFER (parent)) | 111 | new->total_length = (BUF_Z (XBUFFER (parent)) |
| 80 | - BUF_BEG (XBUFFER (parent))); | 112 | - BUF_BEG (XBUFFER (parent))); |
| 81 | eassert (0 <= TOTAL_LENGTH (new)); | 113 | eassert (0 <= TOTAL_LENGTH (new)); |
| 82 | buffer_set_intervals (XBUFFER (parent), new); | 114 | set_buffer_intervals (XBUFFER (parent), new); |
| 83 | new->position = BEG; | 115 | new->position = BEG; |
| 84 | } | 116 | } |
| 85 | else if (STRINGP (parent)) | 117 | else if (STRINGP (parent)) |
| 86 | { | 118 | { |
| 87 | new->total_length = SCHARS (parent); | 119 | new->total_length = SCHARS (parent); |
| 88 | eassert (0 <= TOTAL_LENGTH (new)); | 120 | eassert (0 <= TOTAL_LENGTH (new)); |
| 89 | string_set_intervals (parent, new); | 121 | set_string_intervals (parent, new); |
| 90 | new->position = 0; | 122 | new->position = 0; |
| 91 | } | 123 | } |
| 92 | 124 | ||
| 93 | interval_set_object (new, parent); | 125 | set_interval_object (new, parent); |
| 94 | 126 | ||
| 95 | return new; | 127 | return new; |
| 96 | } | 128 | } |
| @@ -104,7 +136,7 @@ copy_properties (register INTERVAL source, register INTERVAL target) | |||
| 104 | return; | 136 | return; |
| 105 | 137 | ||
| 106 | COPY_INTERVAL_CACHE (source, target); | 138 | COPY_INTERVAL_CACHE (source, target); |
| 107 | interval_set_plist (target, Fcopy_sequence (source->plist)); | 139 | set_interval_plist (target, Fcopy_sequence (source->plist)); |
| 108 | } | 140 | } |
| 109 | 141 | ||
| 110 | /* Merge the properties of interval SOURCE into the properties | 142 | /* Merge the properties of interval SOURCE into the properties |
| @@ -140,7 +172,7 @@ merge_properties (register INTERVAL source, register INTERVAL target) | |||
| 140 | if (NILP (val)) | 172 | if (NILP (val)) |
| 141 | { | 173 | { |
| 142 | val = XCAR (o); | 174 | val = XCAR (o); |
| 143 | interval_set_plist (target, Fcons (sym, Fcons (val, target->plist))); | 175 | set_interval_plist (target, Fcons (sym, Fcons (val, target->plist))); |
| 144 | } | 176 | } |
| 145 | o = XCDR (o); | 177 | o = XCDR (o); |
| 146 | } | 178 | } |
| @@ -322,21 +354,21 @@ rotate_right (INTERVAL interval) | |||
| 322 | if (! ROOT_INTERVAL_P (interval)) | 354 | if (! ROOT_INTERVAL_P (interval)) |
| 323 | { | 355 | { |
| 324 | if (AM_LEFT_CHILD (interval)) | 356 | if (AM_LEFT_CHILD (interval)) |
| 325 | interval_set_left (INTERVAL_PARENT (interval), B); | 357 | set_interval_left (INTERVAL_PARENT (interval), B); |
| 326 | else | 358 | else |
| 327 | interval_set_right (INTERVAL_PARENT (interval), B); | 359 | set_interval_right (INTERVAL_PARENT (interval), B); |
| 328 | } | 360 | } |
| 329 | interval_copy_parent (B, interval); | 361 | copy_interval_parent (B, interval); |
| 330 | 362 | ||
| 331 | /* Make B the parent of A */ | 363 | /* Make B the parent of A */ |
| 332 | i = B->right; | 364 | i = B->right; |
| 333 | interval_set_right (B, interval); | 365 | set_interval_right (B, interval); |
| 334 | interval_set_parent (interval, B); | 366 | set_interval_parent (interval, B); |
| 335 | 367 | ||
| 336 | /* Make A point to c */ | 368 | /* Make A point to c */ |
| 337 | interval_set_left (interval, i); | 369 | set_interval_left (interval, i); |
| 338 | if (i) | 370 | if (i) |
| 339 | interval_set_parent (i, interval); | 371 | set_interval_parent (i, interval); |
| 340 | 372 | ||
| 341 | /* A's total length is decreased by the length of B and its left child. */ | 373 | /* A's total length is decreased by the length of B and its left child. */ |
| 342 | interval->total_length -= B->total_length - LEFT_TOTAL_LENGTH (interval); | 374 | interval->total_length -= B->total_length - LEFT_TOTAL_LENGTH (interval); |
| @@ -369,21 +401,21 @@ rotate_left (INTERVAL interval) | |||
| 369 | if (! ROOT_INTERVAL_P (interval)) | 401 | if (! ROOT_INTERVAL_P (interval)) |
| 370 | { | 402 | { |
| 371 | if (AM_LEFT_CHILD (interval)) | 403 | if (AM_LEFT_CHILD (interval)) |
| 372 | interval_set_left (INTERVAL_PARENT (interval), B); | 404 | set_interval_left (INTERVAL_PARENT (interval), B); |
| 373 | else | 405 | else |
| 374 | interval_set_right (INTERVAL_PARENT (interval), B); | 406 | set_interval_right (INTERVAL_PARENT (interval), B); |
| 375 | } | 407 | } |
| 376 | interval_copy_parent (B, interval); | 408 | copy_interval_parent (B, interval); |
| 377 | 409 | ||
| 378 | /* Make B the parent of A */ | 410 | /* Make B the parent of A */ |
| 379 | i = B->left; | 411 | i = B->left; |
| 380 | interval_set_left (B, interval); | 412 | set_interval_left (B, interval); |
| 381 | interval_set_parent (interval, B); | 413 | set_interval_parent (interval, B); |
| 382 | 414 | ||
| 383 | /* Make A point to c */ | 415 | /* Make A point to c */ |
| 384 | interval_set_right (interval, i); | 416 | set_interval_right (interval, i); |
| 385 | if (i) | 417 | if (i) |
| 386 | interval_set_parent (i, interval); | 418 | set_interval_parent (i, interval); |
| 387 | 419 | ||
| 388 | /* A's total length is decreased by the length of B and its right child. */ | 420 | /* A's total length is decreased by the length of B and its right child. */ |
| 389 | interval->total_length -= B->total_length - RIGHT_TOTAL_LENGTH (interval); | 421 | interval->total_length -= B->total_length - RIGHT_TOTAL_LENGTH (interval); |
| @@ -455,9 +487,9 @@ balance_possible_root_interval (register INTERVAL interval) | |||
| 455 | if (have_parent) | 487 | if (have_parent) |
| 456 | { | 488 | { |
| 457 | if (BUFFERP (parent)) | 489 | if (BUFFERP (parent)) |
| 458 | buffer_set_intervals (XBUFFER (parent), interval); | 490 | set_buffer_intervals (XBUFFER (parent), interval); |
| 459 | else if (STRINGP (parent)) | 491 | else if (STRINGP (parent)) |
| 460 | string_set_intervals (parent, interval); | 492 | set_string_intervals (parent, interval); |
| 461 | } | 493 | } |
| 462 | 494 | ||
| 463 | return interval; | 495 | return interval; |
| @@ -493,9 +525,9 @@ buffer_balance_intervals (struct buffer *b) | |||
| 493 | INTERVAL i; | 525 | INTERVAL i; |
| 494 | 526 | ||
| 495 | eassert (b != NULL); | 527 | eassert (b != NULL); |
| 496 | i = buffer_get_intervals (b); | 528 | i = buffer_intervals (b); |
| 497 | if (i) | 529 | if (i) |
| 498 | buffer_set_intervals (b, balance_an_interval (i)); | 530 | set_buffer_intervals (b, balance_an_interval (i)); |
| 499 | } | 531 | } |
| 500 | 532 | ||
| 501 | /* Split INTERVAL into two pieces, starting the second piece at | 533 | /* Split INTERVAL into two pieces, starting the second piece at |
| @@ -519,20 +551,20 @@ split_interval_right (INTERVAL interval, ptrdiff_t offset) | |||
| 519 | ptrdiff_t new_length = LENGTH (interval) - offset; | 551 | ptrdiff_t new_length = LENGTH (interval) - offset; |
| 520 | 552 | ||
| 521 | new->position = position + offset; | 553 | new->position = position + offset; |
| 522 | interval_set_parent (new, interval); | 554 | set_interval_parent (new, interval); |
| 523 | 555 | ||
| 524 | if (NULL_RIGHT_CHILD (interval)) | 556 | if (NULL_RIGHT_CHILD (interval)) |
| 525 | { | 557 | { |
| 526 | interval_set_right (interval, new); | 558 | set_interval_right (interval, new); |
| 527 | new->total_length = new_length; | 559 | new->total_length = new_length; |
| 528 | eassert (0 <= TOTAL_LENGTH (new)); | 560 | eassert (0 <= TOTAL_LENGTH (new)); |
| 529 | } | 561 | } |
| 530 | else | 562 | else |
| 531 | { | 563 | { |
| 532 | /* Insert the new node between INTERVAL and its right child. */ | 564 | /* Insert the new node between INTERVAL and its right child. */ |
| 533 | interval_set_right (new, interval->right); | 565 | set_interval_right (new, interval->right); |
| 534 | interval_set_parent (interval->right, new); | 566 | set_interval_parent (interval->right, new); |
| 535 | interval_set_right (interval, new); | 567 | set_interval_right (interval, new); |
| 536 | new->total_length = new_length + new->right->total_length; | 568 | new->total_length = new_length + new->right->total_length; |
| 537 | eassert (0 <= TOTAL_LENGTH (new)); | 569 | eassert (0 <= TOTAL_LENGTH (new)); |
| 538 | balance_an_interval (new); | 570 | balance_an_interval (new); |
| @@ -564,20 +596,20 @@ split_interval_left (INTERVAL interval, ptrdiff_t offset) | |||
| 564 | 596 | ||
| 565 | new->position = interval->position; | 597 | new->position = interval->position; |
| 566 | interval->position = interval->position + offset; | 598 | interval->position = interval->position + offset; |
| 567 | interval_set_parent (new, interval); | 599 | set_interval_parent (new, interval); |
| 568 | 600 | ||
| 569 | if (NULL_LEFT_CHILD (interval)) | 601 | if (NULL_LEFT_CHILD (interval)) |
| 570 | { | 602 | { |
| 571 | interval_set_left (interval, new); | 603 | set_interval_left (interval, new); |
| 572 | new->total_length = new_length; | 604 | new->total_length = new_length; |
| 573 | eassert (0 <= TOTAL_LENGTH (new)); | 605 | eassert (0 <= TOTAL_LENGTH (new)); |
| 574 | } | 606 | } |
| 575 | else | 607 | else |
| 576 | { | 608 | { |
| 577 | /* Insert the new node between INTERVAL and its left child. */ | 609 | /* Insert the new node between INTERVAL and its left child. */ |
| 578 | interval_set_left (new, interval->left); | 610 | set_interval_left (new, interval->left); |
| 579 | interval_set_parent (new->left, new); | 611 | set_interval_parent (new->left, new); |
| 580 | interval_set_left (interval, new); | 612 | set_interval_left (interval, new); |
| 581 | new->total_length = new_length + new->left->total_length; | 613 | new->total_length = new_length + new->left->total_length; |
| 582 | eassert (0 <= TOTAL_LENGTH (new)); | 614 | eassert (0 <= TOTAL_LENGTH (new)); |
| 583 | balance_an_interval (new); | 615 | balance_an_interval (new); |
| @@ -952,20 +984,20 @@ adjust_intervals_for_insertion (INTERVAL tree, | |||
| 952 | RESET_INTERVAL (&newi); | 984 | RESET_INTERVAL (&newi); |
| 953 | pleft = prev ? prev->plist : Qnil; | 985 | pleft = prev ? prev->plist : Qnil; |
| 954 | pright = i ? i->plist : Qnil; | 986 | pright = i ? i->plist : Qnil; |
| 955 | interval_set_plist (&newi, merge_properties_sticky (pleft, pright)); | 987 | set_interval_plist (&newi, merge_properties_sticky (pleft, pright)); |
| 956 | 988 | ||
| 957 | if (! prev) /* i.e. position == BEG */ | 989 | if (! prev) /* i.e. position == BEG */ |
| 958 | { | 990 | { |
| 959 | if (! intervals_equal (i, &newi)) | 991 | if (! intervals_equal (i, &newi)) |
| 960 | { | 992 | { |
| 961 | i = split_interval_left (i, length); | 993 | i = split_interval_left (i, length); |
| 962 | interval_set_plist (i, newi.plist); | 994 | set_interval_plist (i, newi.plist); |
| 963 | } | 995 | } |
| 964 | } | 996 | } |
| 965 | else if (! intervals_equal (prev, &newi)) | 997 | else if (! intervals_equal (prev, &newi)) |
| 966 | { | 998 | { |
| 967 | prev = split_interval_right (prev, position - prev->position); | 999 | prev = split_interval_right (prev, position - prev->position); |
| 968 | interval_set_plist (prev, newi.plist); | 1000 | set_interval_plist (prev, newi.plist); |
| 969 | if (i && intervals_equal (prev, i)) | 1001 | if (i && intervals_equal (prev, i)) |
| 970 | merge_interval_right (prev); | 1002 | merge_interval_right (prev); |
| 971 | } | 1003 | } |
| @@ -1190,8 +1222,8 @@ delete_node (register INTERVAL i) | |||
| 1190 | this->total_length += migrate_amt; | 1222 | this->total_length += migrate_amt; |
| 1191 | } | 1223 | } |
| 1192 | eassert (0 <= TOTAL_LENGTH (this)); | 1224 | eassert (0 <= TOTAL_LENGTH (this)); |
| 1193 | interval_set_left (this, migrate); | 1225 | set_interval_left (this, migrate); |
| 1194 | interval_set_parent (migrate, this); | 1226 | set_interval_parent (migrate, this); |
| 1195 | 1227 | ||
| 1196 | return i->right; | 1228 | return i->right; |
| 1197 | } | 1229 | } |
| @@ -1216,12 +1248,12 @@ delete_interval (register INTERVAL i) | |||
| 1216 | GET_INTERVAL_OBJECT (owner, i); | 1248 | GET_INTERVAL_OBJECT (owner, i); |
| 1217 | parent = delete_node (i); | 1249 | parent = delete_node (i); |
| 1218 | if (parent) | 1250 | if (parent) |
| 1219 | interval_set_object (parent, owner); | 1251 | set_interval_object (parent, owner); |
| 1220 | 1252 | ||
| 1221 | if (BUFFERP (owner)) | 1253 | if (BUFFERP (owner)) |
| 1222 | buffer_set_intervals (XBUFFER (owner), parent); | 1254 | set_buffer_intervals (XBUFFER (owner), parent); |
| 1223 | else if (STRINGP (owner)) | 1255 | else if (STRINGP (owner)) |
| 1224 | string_set_intervals (owner, parent); | 1256 | set_string_intervals (owner, parent); |
| 1225 | else | 1257 | else |
| 1226 | abort (); | 1258 | abort (); |
| 1227 | 1259 | ||
| @@ -1231,15 +1263,15 @@ delete_interval (register INTERVAL i) | |||
| 1231 | parent = INTERVAL_PARENT (i); | 1263 | parent = INTERVAL_PARENT (i); |
| 1232 | if (AM_LEFT_CHILD (i)) | 1264 | if (AM_LEFT_CHILD (i)) |
| 1233 | { | 1265 | { |
| 1234 | interval_set_left (parent, delete_node (i)); | 1266 | set_interval_left (parent, delete_node (i)); |
| 1235 | if (parent->left) | 1267 | if (parent->left) |
| 1236 | interval_set_parent (parent->left, parent); | 1268 | set_interval_parent (parent->left, parent); |
| 1237 | } | 1269 | } |
| 1238 | else | 1270 | else |
| 1239 | { | 1271 | { |
| 1240 | interval_set_right (parent, delete_node (i)); | 1272 | set_interval_right (parent, delete_node (i)); |
| 1241 | if (parent->right) | 1273 | if (parent->right) |
| 1242 | interval_set_parent (parent->right, parent); | 1274 | set_interval_parent (parent->right, parent); |
| 1243 | } | 1275 | } |
| 1244 | } | 1276 | } |
| 1245 | 1277 | ||
| @@ -1320,8 +1352,8 @@ static void | |||
| 1320 | adjust_intervals_for_deletion (struct buffer *buffer, | 1352 | adjust_intervals_for_deletion (struct buffer *buffer, |
| 1321 | ptrdiff_t start, ptrdiff_t length) | 1353 | ptrdiff_t start, ptrdiff_t length) |
| 1322 | { | 1354 | { |
| 1323 | register ptrdiff_t left_to_delete = length; | 1355 | ptrdiff_t left_to_delete = length; |
| 1324 | register INTERVAL tree = buffer_get_intervals (buffer); | 1356 | INTERVAL tree = buffer_intervals (buffer); |
| 1325 | Lisp_Object parent; | 1357 | Lisp_Object parent; |
| 1326 | ptrdiff_t offset; | 1358 | ptrdiff_t offset; |
| 1327 | 1359 | ||
| @@ -1336,7 +1368,7 @@ adjust_intervals_for_deletion (struct buffer *buffer, | |||
| 1336 | 1368 | ||
| 1337 | if (length == TOTAL_LENGTH (tree)) | 1369 | if (length == TOTAL_LENGTH (tree)) |
| 1338 | { | 1370 | { |
| 1339 | buffer_set_intervals (buffer, NULL); | 1371 | set_buffer_intervals (buffer, NULL); |
| 1340 | return; | 1372 | return; |
| 1341 | } | 1373 | } |
| 1342 | 1374 | ||
| @@ -1353,10 +1385,10 @@ adjust_intervals_for_deletion (struct buffer *buffer, | |||
| 1353 | { | 1385 | { |
| 1354 | left_to_delete -= interval_deletion_adjustment (tree, start - offset, | 1386 | left_to_delete -= interval_deletion_adjustment (tree, start - offset, |
| 1355 | left_to_delete); | 1387 | left_to_delete); |
| 1356 | tree = buffer_get_intervals (buffer); | 1388 | tree = buffer_intervals (buffer); |
| 1357 | if (left_to_delete == tree->total_length) | 1389 | if (left_to_delete == tree->total_length) |
| 1358 | { | 1390 | { |
| 1359 | buffer_set_intervals (buffer, NULL); | 1391 | set_buffer_intervals (buffer, NULL); |
| 1360 | return; | 1392 | return; |
| 1361 | } | 1393 | } |
| 1362 | } | 1394 | } |
| @@ -1370,11 +1402,11 @@ adjust_intervals_for_deletion (struct buffer *buffer, | |||
| 1370 | void | 1402 | void |
| 1371 | offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length) | 1403 | offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length) |
| 1372 | { | 1404 | { |
| 1373 | if (!buffer_get_intervals (buffer) || length == 0) | 1405 | if (!buffer_intervals (buffer) || length == 0) |
| 1374 | return; | 1406 | return; |
| 1375 | 1407 | ||
| 1376 | if (length > 0) | 1408 | if (length > 0) |
| 1377 | adjust_intervals_for_insertion (buffer_get_intervals (buffer), | 1409 | adjust_intervals_for_insertion (buffer_intervals (buffer), |
| 1378 | start, length); | 1410 | start, length); |
| 1379 | else | 1411 | else |
| 1380 | { | 1412 | { |
| @@ -1510,9 +1542,9 @@ reproduce_interval (INTERVAL source) | |||
| 1510 | copy_properties (source, target); | 1542 | copy_properties (source, target); |
| 1511 | 1543 | ||
| 1512 | if (! NULL_LEFT_CHILD (source)) | 1544 | if (! NULL_LEFT_CHILD (source)) |
| 1513 | interval_set_left (target, reproduce_tree (source->left, target)); | 1545 | set_interval_left (target, reproduce_tree (source->left, target)); |
| 1514 | if (! NULL_RIGHT_CHILD (source)) | 1546 | if (! NULL_RIGHT_CHILD (source)) |
| 1515 | interval_set_right (target, reproduce_tree (source->right, target)); | 1547 | set_interval_right (target, reproduce_tree (source->right, target)); |
| 1516 | 1548 | ||
| 1517 | return target; | 1549 | return target; |
| 1518 | } | 1550 | } |
| @@ -1525,18 +1557,16 @@ reproduce_interval (INTERVAL source) | |||
| 1525 | static INTERVAL | 1557 | static INTERVAL |
| 1526 | reproduce_tree (INTERVAL source, INTERVAL parent) | 1558 | reproduce_tree (INTERVAL source, INTERVAL parent) |
| 1527 | { | 1559 | { |
| 1528 | register INTERVAL target = reproduce_interval (source); | 1560 | INTERVAL target = reproduce_interval (source); |
| 1529 | 1561 | set_interval_parent (target, parent); | |
| 1530 | interval_set_parent (target, parent); | ||
| 1531 | return target; | 1562 | return target; |
| 1532 | } | 1563 | } |
| 1533 | 1564 | ||
| 1534 | static INTERVAL | 1565 | static INTERVAL |
| 1535 | reproduce_tree_obj (INTERVAL source, Lisp_Object parent) | 1566 | reproduce_tree_obj (INTERVAL source, Lisp_Object parent) |
| 1536 | { | 1567 | { |
| 1537 | register INTERVAL target = reproduce_interval (source); | 1568 | INTERVAL target = reproduce_interval (source); |
| 1538 | 1569 | set_interval_object (target, parent); | |
| 1539 | interval_set_object (target, parent); | ||
| 1540 | return target; | 1570 | return target; |
| 1541 | } | 1571 | } |
| 1542 | 1572 | ||
| @@ -1582,12 +1612,10 @@ graft_intervals_into_buffer (INTERVAL source, ptrdiff_t position, | |||
| 1582 | ptrdiff_t length, struct buffer *buffer, | 1612 | ptrdiff_t length, struct buffer *buffer, |
| 1583 | int inherit) | 1613 | int inherit) |
| 1584 | { | 1614 | { |
| 1585 | register INTERVAL under, over, this; | 1615 | INTERVAL tree = buffer_intervals (buffer); |
| 1586 | register INTERVAL tree; | 1616 | INTERVAL under, over, this; |
| 1587 | ptrdiff_t over_used; | 1617 | ptrdiff_t over_used; |
| 1588 | 1618 | ||
| 1589 | tree = buffer_get_intervals (buffer); | ||
| 1590 | |||
| 1591 | /* If the new text has no properties, then with inheritance it | 1619 | /* If the new text has no properties, then with inheritance it |
| 1592 | becomes part of whatever interval it was inserted into. | 1620 | becomes part of whatever interval it was inserted into. |
| 1593 | To prevent inheritance, we must clear out the properties | 1621 | To prevent inheritance, we must clear out the properties |
| @@ -1616,9 +1644,9 @@ graft_intervals_into_buffer (INTERVAL source, ptrdiff_t position, | |||
| 1616 | Lisp_Object buf; | 1644 | Lisp_Object buf; |
| 1617 | 1645 | ||
| 1618 | XSETBUFFER (buf, buffer); | 1646 | XSETBUFFER (buf, buffer); |
| 1619 | buffer_set_intervals (buffer, reproduce_tree_obj (source, buf)); | 1647 | set_buffer_intervals (buffer, reproduce_tree_obj (source, buf)); |
| 1620 | buffer_get_intervals (buffer)->position = BUF_BEG (buffer); | 1648 | buffer_intervals (buffer)->position = BUF_BEG (buffer); |
| 1621 | eassert (buffer_get_intervals (buffer)->up_obj == 1); | 1649 | eassert (buffer_intervals (buffer)->up_obj == 1); |
| 1622 | return; | 1650 | return; |
| 1623 | } | 1651 | } |
| 1624 | else if (!tree) | 1652 | else if (!tree) |
| @@ -1876,7 +1904,7 @@ set_point_both (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 1876 | 1904 | ||
| 1877 | /* If we have no text properties and overlays, | 1905 | /* If we have no text properties and overlays, |
| 1878 | then we can do it quickly. */ | 1906 | then we can do it quickly. */ |
| 1879 | if (!buffer_get_intervals (current_buffer) && ! have_overlays) | 1907 | if (!buffer_intervals (current_buffer) && ! have_overlays) |
| 1880 | { | 1908 | { |
| 1881 | temp_set_point_both (current_buffer, charpos, bytepos); | 1909 | temp_set_point_both (current_buffer, charpos, bytepos); |
| 1882 | return; | 1910 | return; |
| @@ -1885,7 +1913,7 @@ set_point_both (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 1885 | /* Set TO to the interval containing the char after CHARPOS, | 1913 | /* Set TO to the interval containing the char after CHARPOS, |
| 1886 | and TOPREV to the interval containing the char before CHARPOS. | 1914 | and TOPREV to the interval containing the char before CHARPOS. |
| 1887 | Either one may be null. They may be equal. */ | 1915 | Either one may be null. They may be equal. */ |
| 1888 | to = find_interval (buffer_get_intervals (current_buffer), charpos); | 1916 | to = find_interval (buffer_intervals (current_buffer), charpos); |
| 1889 | if (charpos == BEGV) | 1917 | if (charpos == BEGV) |
| 1890 | toprev = 0; | 1918 | toprev = 0; |
| 1891 | else if (to && to->position == charpos) | 1919 | else if (to && to->position == charpos) |
| @@ -1899,7 +1927,7 @@ set_point_both (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 1899 | and FROMPREV to the interval containing the char before PT. | 1927 | and FROMPREV to the interval containing the char before PT. |
| 1900 | Either one may be null. They may be equal. */ | 1928 | Either one may be null. They may be equal. */ |
| 1901 | /* We could cache this and save time. */ | 1929 | /* We could cache this and save time. */ |
| 1902 | from = find_interval (buffer_get_intervals (current_buffer), buffer_point); | 1930 | from = find_interval (buffer_intervals (current_buffer), buffer_point); |
| 1903 | if (buffer_point == BEGV) | 1931 | if (buffer_point == BEGV) |
| 1904 | fromprev = 0; | 1932 | fromprev = 0; |
| 1905 | else if (from && from->position == PT) | 1933 | else if (from && from->position == PT) |
| @@ -2005,7 +2033,7 @@ set_point_both (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 2005 | /* Set TO to the interval containing the char after CHARPOS, | 2033 | /* Set TO to the interval containing the char after CHARPOS, |
| 2006 | and TOPREV to the interval containing the char before CHARPOS. | 2034 | and TOPREV to the interval containing the char before CHARPOS. |
| 2007 | Either one may be null. They may be equal. */ | 2035 | Either one may be null. They may be equal. */ |
| 2008 | to = find_interval (buffer_get_intervals (current_buffer), charpos); | 2036 | to = find_interval (buffer_intervals (current_buffer), charpos); |
| 2009 | if (charpos == BEGV) | 2037 | if (charpos == BEGV) |
| 2010 | toprev = 0; | 2038 | toprev = 0; |
| 2011 | else if (to && to->position == charpos) | 2039 | else if (to && to->position == charpos) |
| @@ -2138,11 +2166,11 @@ get_property_and_range (ptrdiff_t pos, Lisp_Object prop, Lisp_Object *val, | |||
| 2138 | INTERVAL i, prev, next; | 2166 | INTERVAL i, prev, next; |
| 2139 | 2167 | ||
| 2140 | if (NILP (object)) | 2168 | if (NILP (object)) |
| 2141 | i = find_interval (buffer_get_intervals (current_buffer), pos); | 2169 | i = find_interval (buffer_intervals (current_buffer), pos); |
| 2142 | else if (BUFFERP (object)) | 2170 | else if (BUFFERP (object)) |
| 2143 | i = find_interval (buffer_get_intervals (XBUFFER (object)), pos); | 2171 | i = find_interval (buffer_intervals (XBUFFER (object)), pos); |
| 2144 | else if (STRINGP (object)) | 2172 | else if (STRINGP (object)) |
| 2145 | i = find_interval (string_get_intervals (object), pos); | 2173 | i = find_interval (string_intervals (object), pos); |
| 2146 | else | 2174 | else |
| 2147 | abort (); | 2175 | abort (); |
| 2148 | 2176 | ||
| @@ -2269,13 +2297,13 @@ void | |||
| 2269 | copy_intervals_to_string (Lisp_Object string, struct buffer *buffer, | 2297 | copy_intervals_to_string (Lisp_Object string, struct buffer *buffer, |
| 2270 | ptrdiff_t position, ptrdiff_t length) | 2298 | ptrdiff_t position, ptrdiff_t length) |
| 2271 | { | 2299 | { |
| 2272 | INTERVAL interval_copy = copy_intervals (buffer_get_intervals (buffer), | 2300 | INTERVAL interval_copy = copy_intervals (buffer_intervals (buffer), |
| 2273 | position, length); | 2301 | position, length); |
| 2274 | if (!interval_copy) | 2302 | if (!interval_copy) |
| 2275 | return; | 2303 | return; |
| 2276 | 2304 | ||
| 2277 | interval_set_object (interval_copy, string); | 2305 | set_interval_object (interval_copy, string); |
| 2278 | string_set_intervals (string, interval_copy); | 2306 | set_string_intervals (string, interval_copy); |
| 2279 | } | 2307 | } |
| 2280 | 2308 | ||
| 2281 | /* Return 1 if strings S1 and S2 have identical properties; 0 otherwise. | 2309 | /* Return 1 if strings S1 and S2 have identical properties; 0 otherwise. |
| @@ -2288,8 +2316,8 @@ compare_string_intervals (Lisp_Object s1, Lisp_Object s2) | |||
| 2288 | ptrdiff_t pos = 0; | 2316 | ptrdiff_t pos = 0; |
| 2289 | ptrdiff_t end = SCHARS (s1); | 2317 | ptrdiff_t end = SCHARS (s1); |
| 2290 | 2318 | ||
| 2291 | i1 = find_interval (string_get_intervals (s1), 0); | 2319 | i1 = find_interval (string_intervals (s1), 0); |
| 2292 | i2 = find_interval (string_get_intervals (s2), 0); | 2320 | i2 = find_interval (string_intervals (s2), 0); |
| 2293 | 2321 | ||
| 2294 | while (pos < end) | 2322 | while (pos < end) |
| 2295 | { | 2323 | { |
| @@ -2414,13 +2442,13 @@ set_intervals_multibyte_1 (INTERVAL i, int multi_flag, | |||
| 2414 | { | 2442 | { |
| 2415 | if ((i)->left) | 2443 | if ((i)->left) |
| 2416 | { | 2444 | { |
| 2417 | interval_set_plist (i, i->left->plist); | 2445 | set_interval_plist (i, i->left->plist); |
| 2418 | (i)->left->total_length = 0; | 2446 | (i)->left->total_length = 0; |
| 2419 | delete_interval ((i)->left); | 2447 | delete_interval ((i)->left); |
| 2420 | } | 2448 | } |
| 2421 | else | 2449 | else |
| 2422 | { | 2450 | { |
| 2423 | interval_set_plist (i, i->right->plist); | 2451 | set_interval_plist (i, i->right->plist); |
| 2424 | (i)->right->total_length = 0; | 2452 | (i)->right->total_length = 0; |
| 2425 | delete_interval ((i)->right); | 2453 | delete_interval ((i)->right); |
| 2426 | } | 2454 | } |
| @@ -2434,7 +2462,7 @@ set_intervals_multibyte_1 (INTERVAL i, int multi_flag, | |||
| 2434 | void | 2462 | void |
| 2435 | set_intervals_multibyte (int multi_flag) | 2463 | set_intervals_multibyte (int multi_flag) |
| 2436 | { | 2464 | { |
| 2437 | INTERVAL i = buffer_get_intervals (current_buffer); | 2465 | INTERVAL i = buffer_intervals (current_buffer); |
| 2438 | 2466 | ||
| 2439 | if (i) | 2467 | if (i) |
| 2440 | set_intervals_multibyte_1 (i, multi_flag, BEG, BEG_BYTE, Z, Z_BYTE); | 2468 | set_intervals_multibyte_1 (i, multi_flag, BEG, BEG_BYTE, Z, Z_BYTE); |
diff --git a/src/intervals.h b/src/intervals.h index a5166c6376f..01e72d7c9db 100644 --- a/src/intervals.h +++ b/src/intervals.h | |||
| @@ -137,47 +137,16 @@ struct interval | |||
| 137 | or pointer slots of struct interval. */ | 137 | or pointer slots of struct interval. */ |
| 138 | 138 | ||
| 139 | INTERVALS_INLINE void | 139 | INTERVALS_INLINE void |
| 140 | interval_set_parent (INTERVAL i, INTERVAL parent) | 140 | set_interval_parent (INTERVAL i, INTERVAL parent) |
| 141 | { | 141 | { |
| 142 | i->up_obj = 0; | 142 | i->up_obj = 0; |
| 143 | i->up.interval = parent; | 143 | i->up.interval = parent; |
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | INTERVALS_INLINE void | 146 | INTERVALS_INLINE void |
| 147 | interval_set_object (INTERVAL i, Lisp_Object obj) | 147 | set_interval_plist (INTERVAL i, Lisp_Object plist) |
| 148 | { | ||
| 149 | eassert (BUFFERP (obj) || STRINGP (obj)); | ||
| 150 | i->up_obj = 1; | ||
| 151 | i->up.obj = obj; | ||
| 152 | } | ||
| 153 | |||
| 154 | INTERVALS_INLINE void | ||
| 155 | interval_set_left (INTERVAL i, INTERVAL left) | ||
| 156 | { | ||
| 157 | i->left = left; | ||
| 158 | } | ||
| 159 | |||
| 160 | INTERVALS_INLINE void | ||
| 161 | interval_set_right (INTERVAL i, INTERVAL right) | ||
| 162 | { | ||
| 163 | i->right = right; | ||
| 164 | } | ||
| 165 | |||
| 166 | INTERVALS_INLINE Lisp_Object | ||
| 167 | interval_set_plist (INTERVAL i, Lisp_Object plist) | ||
| 168 | { | 148 | { |
| 169 | i->plist = plist; | 149 | i->plist = plist; |
| 170 | return plist; | ||
| 171 | } | ||
| 172 | |||
| 173 | /* Make the parent of D be whatever the parent of S is, regardless | ||
| 174 | of the type. This is used when balancing an interval tree. */ | ||
| 175 | |||
| 176 | INTERVALS_INLINE void | ||
| 177 | interval_copy_parent (INTERVAL d, INTERVAL s) | ||
| 178 | { | ||
| 179 | d->up = s->up; | ||
| 180 | d->up_obj = s->up_obj; | ||
| 181 | } | 150 | } |
| 182 | 151 | ||
| 183 | /* Get the parent interval, if any, otherwise a null pointer. Useful | 152 | /* Get the parent interval, if any, otherwise a null pointer. Useful |
| @@ -191,11 +160,11 @@ interval_copy_parent (INTERVAL d, INTERVAL s) | |||
| 191 | { \ | 160 | { \ |
| 192 | (i)->total_length = (i)->position = 0; \ | 161 | (i)->total_length = (i)->position = 0; \ |
| 193 | (i)->left = (i)->right = NULL; \ | 162 | (i)->left = (i)->right = NULL; \ |
| 194 | interval_set_parent (i, NULL); \ | 163 | set_interval_parent (i, NULL); \ |
| 195 | (i)->write_protect = 0; \ | 164 | (i)->write_protect = 0; \ |
| 196 | (i)->visible = 0; \ | 165 | (i)->visible = 0; \ |
| 197 | (i)->front_sticky = (i)->rear_sticky = 0; \ | 166 | (i)->front_sticky = (i)->rear_sticky = 0; \ |
| 198 | interval_set_plist (i, Qnil); \ | 167 | set_interval_plist (i, Qnil); \ |
| 199 | } | 168 | } |
| 200 | 169 | ||
| 201 | /* Copy the cached property values of interval FROM to interval TO. */ | 170 | /* Copy the cached property values of interval FROM to interval TO. */ |
diff --git a/src/lisp.h b/src/lisp.h index 44a757f19c7..4a6edcda53c 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2458,7 +2458,7 @@ set_overlay_plist (Lisp_Object overlay, Lisp_Object plist) | |||
| 2458 | /* Get text properties of S. */ | 2458 | /* Get text properties of S. */ |
| 2459 | 2459 | ||
| 2460 | LISP_INLINE INTERVAL | 2460 | LISP_INLINE INTERVAL |
| 2461 | string_get_intervals (Lisp_Object s) | 2461 | string_intervals (Lisp_Object s) |
| 2462 | { | 2462 | { |
| 2463 | return XSTRING (s)->intervals; | 2463 | return XSTRING (s)->intervals; |
| 2464 | } | 2464 | } |
| @@ -2466,7 +2466,7 @@ string_get_intervals (Lisp_Object s) | |||
| 2466 | /* Set text properties of S to I. */ | 2466 | /* Set text properties of S to I. */ |
| 2467 | 2467 | ||
| 2468 | LISP_INLINE void | 2468 | LISP_INLINE void |
| 2469 | string_set_intervals (Lisp_Object s, INTERVAL i) | 2469 | set_string_intervals (Lisp_Object s, INTERVAL i) |
| 2470 | { | 2470 | { |
| 2471 | XSTRING (s)->intervals = i; | 2471 | XSTRING (s)->intervals = i; |
| 2472 | } | 2472 | } |
diff --git a/src/lread.c b/src/lread.c index 94ae4dd4282..e2ad03b349f 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3189,8 +3189,8 @@ substitute_object_recurse (Lisp_Object object, Lisp_Object placeholder, Lisp_Obj | |||
| 3189 | /* Check for text properties in each interval. | 3189 | /* Check for text properties in each interval. |
| 3190 | substitute_in_interval contains part of the logic. */ | 3190 | substitute_in_interval contains part of the logic. */ |
| 3191 | 3191 | ||
| 3192 | INTERVAL root_interval = string_get_intervals (subtree); | 3192 | INTERVAL root_interval = string_intervals (subtree); |
| 3193 | Lisp_Object arg = Fcons (object, placeholder); | 3193 | Lisp_Object arg = Fcons (object, placeholder); |
| 3194 | 3194 | ||
| 3195 | traverse_intervals_noorder (root_interval, | 3195 | traverse_intervals_noorder (root_interval, |
| 3196 | &substitute_in_interval, arg); | 3196 | &substitute_in_interval, arg); |
| @@ -3211,7 +3211,7 @@ substitute_in_interval (INTERVAL interval, Lisp_Object arg) | |||
| 3211 | Lisp_Object object = Fcar (arg); | 3211 | Lisp_Object object = Fcar (arg); |
| 3212 | Lisp_Object placeholder = Fcdr (arg); | 3212 | Lisp_Object placeholder = Fcdr (arg); |
| 3213 | 3213 | ||
| 3214 | SUBSTITUTE (interval->plist, interval_set_plist (interval, true_value)); | 3214 | SUBSTITUTE (interval->plist, set_interval_plist (interval, true_value)); |
| 3215 | } | 3215 | } |
| 3216 | 3216 | ||
| 3217 | 3217 | ||
diff --git a/src/print.c b/src/print.c index 23ad6c0a256..9d633ecce51 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1194,7 +1194,7 @@ print_preprocess (Lisp_Object obj) | |||
| 1194 | { | 1194 | { |
| 1195 | case Lisp_String: | 1195 | case Lisp_String: |
| 1196 | /* A string may have text properties, which can be circular. */ | 1196 | /* A string may have text properties, which can be circular. */ |
| 1197 | traverse_intervals_noorder (string_get_intervals (obj), | 1197 | traverse_intervals_noorder (string_intervals (obj), |
| 1198 | print_preprocess_string, Qnil); | 1198 | print_preprocess_string, Qnil); |
| 1199 | break; | 1199 | break; |
| 1200 | 1200 | ||
| @@ -1297,7 +1297,7 @@ static Lisp_Object | |||
| 1297 | print_prune_string_charset (Lisp_Object string) | 1297 | print_prune_string_charset (Lisp_Object string) |
| 1298 | { | 1298 | { |
| 1299 | print_check_string_result = 0; | 1299 | print_check_string_result = 0; |
| 1300 | traverse_intervals (string_get_intervals (string), 0, | 1300 | traverse_intervals (string_intervals (string), 0, |
| 1301 | print_check_string_charset_prop, string); | 1301 | print_check_string_charset_prop, string); |
| 1302 | if (! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) | 1302 | if (! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) |
| 1303 | { | 1303 | { |
| @@ -1408,7 +1408,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 1408 | if (! EQ (Vprint_charset_text_property, Qt)) | 1408 | if (! EQ (Vprint_charset_text_property, Qt)) |
| 1409 | obj = print_prune_string_charset (obj); | 1409 | obj = print_prune_string_charset (obj); |
| 1410 | 1410 | ||
| 1411 | if (string_get_intervals (obj)) | 1411 | if (string_intervals (obj)) |
| 1412 | { | 1412 | { |
| 1413 | PRINTCHAR ('#'); | 1413 | PRINTCHAR ('#'); |
| 1414 | PRINTCHAR ('('); | 1414 | PRINTCHAR ('('); |
| @@ -1499,9 +1499,9 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 1499 | } | 1499 | } |
| 1500 | PRINTCHAR ('\"'); | 1500 | PRINTCHAR ('\"'); |
| 1501 | 1501 | ||
| 1502 | if (string_get_intervals (obj)) | 1502 | if (string_intervals (obj)) |
| 1503 | { | 1503 | { |
| 1504 | traverse_intervals (string_get_intervals (obj), | 1504 | traverse_intervals (string_intervals (obj), |
| 1505 | 0, print_interval, printcharfun); | 1505 | 0, print_interval, printcharfun); |
| 1506 | PRINTCHAR (')'); | 1506 | PRINTCHAR (')'); |
| 1507 | } | 1507 | } |
diff --git a/src/textprop.c b/src/textprop.c index ac1980fde78..20d98b0e6f3 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -143,7 +143,7 @@ validate_interval_range (Lisp_Object object, Lisp_Object *begin, Lisp_Object *en | |||
| 143 | if (!(BUF_BEGV (b) <= XINT (*begin) && XINT (*begin) <= XINT (*end) | 143 | if (!(BUF_BEGV (b) <= XINT (*begin) && XINT (*begin) <= XINT (*end) |
| 144 | && XINT (*end) <= BUF_ZV (b))) | 144 | && XINT (*end) <= BUF_ZV (b))) |
| 145 | args_out_of_range (*begin, *end); | 145 | args_out_of_range (*begin, *end); |
| 146 | i = buffer_get_intervals (b); | 146 | i = buffer_intervals (b); |
| 147 | 147 | ||
| 148 | /* If there's no text, there are no properties. */ | 148 | /* If there's no text, there are no properties. */ |
| 149 | if (BUF_BEGV (b) == BUF_ZV (b)) | 149 | if (BUF_BEGV (b) == BUF_ZV (b)) |
| @@ -161,7 +161,7 @@ validate_interval_range (Lisp_Object object, Lisp_Object *begin, Lisp_Object *en | |||
| 161 | XSETFASTINT (*begin, XFASTINT (*begin)); | 161 | XSETFASTINT (*begin, XFASTINT (*begin)); |
| 162 | if (begin != end) | 162 | if (begin != end) |
| 163 | XSETFASTINT (*end, XFASTINT (*end)); | 163 | XSETFASTINT (*end, XFASTINT (*end)); |
| 164 | i = string_get_intervals (object); | 164 | i = string_intervals (object); |
| 165 | 165 | ||
| 166 | if (len == 0) | 166 | if (len == 0) |
| 167 | return NULL; | 167 | return NULL; |
| @@ -338,7 +338,7 @@ set_properties (Lisp_Object properties, INTERVAL interval, Lisp_Object object) | |||
| 338 | } | 338 | } |
| 339 | 339 | ||
| 340 | /* Store new properties. */ | 340 | /* Store new properties. */ |
| 341 | interval_set_plist (interval, Fcopy_sequence (properties)); | 341 | set_interval_plist (interval, Fcopy_sequence (properties)); |
| 342 | } | 342 | } |
| 343 | 343 | ||
| 344 | /* Add the properties of PLIST to the interval I, or set | 344 | /* Add the properties of PLIST to the interval I, or set |
| @@ -411,7 +411,7 @@ add_properties (Lisp_Object plist, INTERVAL i, Lisp_Object object) | |||
| 411 | record_property_change (i->position, LENGTH (i), | 411 | record_property_change (i->position, LENGTH (i), |
| 412 | sym1, Qnil, object); | 412 | sym1, Qnil, object); |
| 413 | } | 413 | } |
| 414 | interval_set_plist (i, Fcons (sym1, Fcons (val1, i->plist))); | 414 | set_interval_plist (i, Fcons (sym1, Fcons (val1, i->plist))); |
| 415 | changed++; | 415 | changed++; |
| 416 | } | 416 | } |
| 417 | } | 417 | } |
| @@ -484,7 +484,7 @@ remove_properties (Lisp_Object plist, Lisp_Object list, INTERVAL i, Lisp_Object | |||
| 484 | } | 484 | } |
| 485 | 485 | ||
| 486 | if (changed) | 486 | if (changed) |
| 487 | interval_set_plist (i, current_plist); | 487 | set_interval_plist (i, current_plist); |
| 488 | return changed; | 488 | return changed; |
| 489 | } | 489 | } |
| 490 | 490 | ||
| @@ -510,13 +510,13 @@ interval_of (ptrdiff_t position, Lisp_Object object) | |||
| 510 | 510 | ||
| 511 | beg = BUF_BEGV (b); | 511 | beg = BUF_BEGV (b); |
| 512 | end = BUF_ZV (b); | 512 | end = BUF_ZV (b); |
| 513 | i = buffer_get_intervals (b); | 513 | i = buffer_intervals (b); |
| 514 | } | 514 | } |
| 515 | else | 515 | else |
| 516 | { | 516 | { |
| 517 | beg = 0; | 517 | beg = 0; |
| 518 | end = SCHARS (object); | 518 | end = SCHARS (object); |
| 519 | i = string_get_intervals (object); | 519 | i = string_intervals (object); |
| 520 | } | 520 | } |
| 521 | 521 | ||
| 522 | if (!(beg <= position && position <= end)) | 522 | if (!(beg <= position && position <= end)) |
| @@ -1274,10 +1274,10 @@ set_text_properties (Lisp_Object start, Lisp_Object end, Lisp_Object properties, | |||
| 1274 | && XFASTINT (start) == 0 | 1274 | && XFASTINT (start) == 0 |
| 1275 | && XFASTINT (end) == SCHARS (object)) | 1275 | && XFASTINT (end) == SCHARS (object)) |
| 1276 | { | 1276 | { |
| 1277 | if (!string_get_intervals (object)) | 1277 | if (!string_intervals (object)) |
| 1278 | return Qnil; | 1278 | return Qnil; |
| 1279 | 1279 | ||
| 1280 | string_set_intervals (object, NULL); | 1280 | set_string_intervals (object, NULL); |
| 1281 | return Qt; | 1281 | return Qt; |
| 1282 | } | 1282 | } |
| 1283 | 1283 | ||
| @@ -1339,7 +1339,7 @@ set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object propertie | |||
| 1339 | return; | 1339 | return; |
| 1340 | 1340 | ||
| 1341 | if (i == NULL) | 1341 | if (i == NULL) |
| 1342 | i = find_interval (buffer_get_intervals (XBUFFER (buffer)), s); | 1342 | i = find_interval (buffer_intervals (XBUFFER (buffer)), s); |
| 1343 | 1343 | ||
| 1344 | if (i->position != s) | 1344 | if (i->position != s) |
| 1345 | { | 1345 | { |
| @@ -1993,10 +1993,10 @@ void | |||
| 1993 | verify_interval_modification (struct buffer *buf, | 1993 | verify_interval_modification (struct buffer *buf, |
| 1994 | ptrdiff_t start, ptrdiff_t end) | 1994 | ptrdiff_t start, ptrdiff_t end) |
| 1995 | { | 1995 | { |
| 1996 | register INTERVAL intervals = buffer_get_intervals (buf); | 1996 | INTERVAL intervals = buffer_intervals (buf); |
| 1997 | register INTERVAL i; | 1997 | INTERVAL i; |
| 1998 | Lisp_Object hooks; | 1998 | Lisp_Object hooks; |
| 1999 | register Lisp_Object prev_mod_hooks; | 1999 | Lisp_Object prev_mod_hooks; |
| 2000 | Lisp_Object mod_hooks; | 2000 | Lisp_Object mod_hooks; |
| 2001 | struct gcpro gcpro1; | 2001 | struct gcpro gcpro1; |
| 2002 | 2002 | ||