diff options
author | Richard M. Stallman <rms@gnu.org> | 2001-11-11 20:02:58 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2001-11-11 20:02:58 +0000 |
commit | 34e096ed98d17af8e2838d8aa97e805302516927 (patch) | |
tree | 538223a872cc42a3e10dc16a290a9b21cba1cd19 /src/intervals.c | |
parent | c77c48d99297ad605f791495f967e9718bb797a1 (diff) | |
download | emacs-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.c | 15 |
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)); |