From cd11ef314d82cf6d6ae494db0b2877da12559093 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 28 Aug 1994 06:07:37 +0000 Subject: [PATCH] (insert_1): New arg INHERIT. (insert_and_inherit): New function. --- src/insdel.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/insdel.c b/src/insdel.c index 5ddf391b86..d368cd86ac 100644 --- a/src/insdel.c +++ b/src/insdel.c @@ -309,15 +309,27 @@ insert (string, length) { if (length > 0) { - insert_1 (string, length); + insert_1 (string, length, 0); + signal_after_change (PT-length, 0, length); + } +} + +insert_and_inherit (string, length) + register unsigned char *string; + register length; +{ + if (length > 0) + { + insert_1 (string, length, 1); signal_after_change (PT-length, 0, length); } } static void -insert_1 (string, length) +insert_1 (string, length, inherit) register unsigned char *string; register length; + int inherit; { register Lisp_Object temp; @@ -346,6 +358,10 @@ insert_1 (string, length) ZV += length; Z += length; adjust_point (length); + + if (!inherit) + Fset_text_properties (make_number (PT - length), make_number (PT), + Qnil, Qnil); } /* Insert the part of the text of STRING, a Lisp object assumed to be @@ -442,7 +458,7 @@ insert_before_markers (string, length) if (length > 0) { register int opoint = PT; - insert_1 (string, length); + insert_1 (string, length, 1); adjust_markers (opoint - 1, opoint, length); signal_after_change (PT-length, 0, length); } -- 2.20.1