From: Richard M. Stallman Date: Sun, 11 Nov 2001 20:02:58 +0000 (+0000) Subject: (graft_intervals_into_buffer): X-Git-Tag: ttn-vms-21-2-B4~18669 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=34e096ed98d17af8e2838d8aa97e805302516927;p=emacs.git (graft_intervals_into_buffer): Use set_text_properties_1 to clear out properties. --- 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));