aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2012-08-17 14:12:11 -0700
committerPaul Eggert2012-08-17 14:12:11 -0700
commit0c94c8d603031f6b665ae7f3136ca77fb573fd7e (patch)
treefabdd332bf09c4ea02198aa36a6a7bdab7e43397
parentee21815118944347ad0c45d47af651e7283709d2 (diff)
downloademacs-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/ChangeLog22
-rw-r--r--src/alloc.c6
-rw-r--r--src/buffer.c71
-rw-r--r--src/buffer.h18
-rw-r--r--src/editfns.c6
-rw-r--r--src/fileio.c2
-rw-r--r--src/fns.c6
-rw-r--r--src/indent.c2
-rw-r--r--src/insdel.c18
-rw-r--r--src/intervals.c192
-rw-r--r--src/intervals.h39
-rw-r--r--src/lisp.h4
-rw-r--r--src/lread.c6
-rw-r--r--src/print.c10
-rw-r--r--src/textprop.c26
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 @@
12012-08-17 Paul Eggert <eggert@cs.ucla.edu> 12012-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
444static inline void
445set_buffer_overlays_before (struct buffer *b, struct Lisp_Overlay *o)
446{
447 b->overlays_before = o;
448}
449
450static inline void
451set_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
955BUFFER_INLINE INTERVAL 955BUFFER_INLINE INTERVAL
956buffer_get_intervals (struct buffer *b) 956buffer_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
964BUFFER_INLINE void 964BUFFER_INLINE void
965buffer_set_intervals (struct buffer *b, INTERVAL i) 965set_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
973BUFFER_INLINE void
974buffer_set_overlays_before (struct buffer *b, struct Lisp_Overlay *o)
975{
976 b->overlays_before = o;
977}
978
979BUFFER_INLINE void
980buffer_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
987BUFFER_INLINE int 973BUFFER_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. */
diff --git a/src/fns.c b/src/fns.c
index 6b6da59a7b8..443e98b2f04 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -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
68static inline void
69set_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
76static inline void
77set_interval_left (INTERVAL i, INTERVAL left)
78{
79 i->left = left;
80}
81
82static inline void
83set_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
91static inline void
92copy_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
1320adjust_intervals_for_deletion (struct buffer *buffer, 1352adjust_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,
1370void 1402void
1371offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length) 1403offset_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)
1525static INTERVAL 1557static INTERVAL
1526reproduce_tree (INTERVAL source, INTERVAL parent) 1558reproduce_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
1534static INTERVAL 1565static INTERVAL
1535reproduce_tree_obj (INTERVAL source, Lisp_Object parent) 1566reproduce_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
2269copy_intervals_to_string (Lisp_Object string, struct buffer *buffer, 2297copy_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,
2434void 2462void
2435set_intervals_multibyte (int multi_flag) 2463set_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
139INTERVALS_INLINE void 139INTERVALS_INLINE void
140interval_set_parent (INTERVAL i, INTERVAL parent) 140set_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
146INTERVALS_INLINE void 146INTERVALS_INLINE void
147interval_set_object (INTERVAL i, Lisp_Object obj) 147set_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
154INTERVALS_INLINE void
155interval_set_left (INTERVAL i, INTERVAL left)
156{
157 i->left = left;
158}
159
160INTERVALS_INLINE void
161interval_set_right (INTERVAL i, INTERVAL right)
162{
163 i->right = right;
164}
165
166INTERVALS_INLINE Lisp_Object
167interval_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
176INTERVALS_INLINE void
177interval_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
2460LISP_INLINE INTERVAL 2460LISP_INLINE INTERVAL
2461string_get_intervals (Lisp_Object s) 2461string_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
2468LISP_INLINE void 2468LISP_INLINE void
2469string_set_intervals (Lisp_Object s, INTERVAL i) 2469set_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
1297print_prune_string_charset (Lisp_Object string) 1297print_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
1993verify_interval_modification (struct buffer *buf, 1993verify_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