summaryrefslogtreecommitdiff
path: root/src/intervals.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2001-11-11 20:02:58 +0000
committerRichard M. Stallman <rms@gnu.org>2001-11-11 20:02:58 +0000
commit34e096ed98d17af8e2838d8aa97e805302516927 (patch)
tree538223a872cc42a3e10dc16a290a9b21cba1cd19 /src/intervals.c
parentc77c48d99297ad605f791495f967e9718bb797a1 (diff)
downloademacs-34e096ed98d17af8e2838d8aa97e805302516927.tar.gz
(graft_intervals_into_buffer):
Use set_text_properties_1 to clear out properties.
Diffstat (limited to 'src/intervals.c')
-rw-r--r--src/intervals.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/intervals.c b/src/intervals.c
index e37b671fd82..b55cd64e45e 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -1683,20 +1683,19 @@ graft_intervals_into_buffer (source, position, length, buffer, inherit)
tree = BUF_INTERVALS (buffer);
- /* If the new text has no properties, it becomes part of whatever
- interval it was inserted into. */
+ /* If the new text has no properties, then with inheritance it
+ becomes part of whatever interval it was inserted into.
+ To prevent inheritance, we must clear out the properties
+ of the newly inserted text. */
if (NULL_INTERVAL_P (source))
{
Lisp_Object buf;
if (!inherit && ! NULL_INTERVAL_P (tree))
{
- int saved_inhibit_modification_hooks = inhibit_modification_hooks;
XSETBUFFER (buf, buffer);
- inhibit_modification_hooks = 1;
- Fset_text_properties (make_number (position),
- make_number (position + length),
- Qnil, buf);
- inhibit_modification_hooks = saved_inhibit_modification_hooks;
+ set_text_properties_1 (make_number (position),
+ make_number (position + length),
+ Qnil, buf, 0);
}
if (! NULL_INTERVAL_P (BUF_INTERVALS (buffer)))
BUF_INTERVALS (buffer) = balance_an_interval (BUF_INTERVALS (buffer));