From: Kenichi Handa Date: Tue, 4 Jul 2000 07:38:15 +0000 (+0000) Subject: (concat): While copying text properties, make each composition X-Git-Tag: emacs-pretest-21.0.90~2997 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=33f37824466d8deaf4780a15a0694e45e9ae96c6;p=emacs.git (concat): While copying text properties, make each composition property value a copy. --- diff --git a/src/fns.c b/src/fns.c index 680fec8cc62..b4a67b4ebe4 100644 --- a/src/fns.c +++ b/src/fns.c @@ -826,12 +826,22 @@ concat (nargs, args, target_type, last_special) if (num_textprops > 0) { + Lisp_Object props; + for (argnum = 0; argnum < num_textprops; argnum++) { this = args[textprops[argnum].argnum]; - copy_text_properties (make_number (textprops[argnum].from), - make_number (XSTRING (this)->size), this, - make_number (textprops[argnum].to), val, Qnil); + props = text_property_list (this, + make_number (0), + make_number (XSTRING (this)->size), + Qnil); + /* If successive arguments have properites, be sure that the + value of `composition' property be the copy. */ + if (argnum > 0 + && textprops[argnum - 1].argnum + 1 == textprops[argnum].argnum) + make_composition_value_copy (props); + add_text_properties_from_list (val, props, + make_number (textprops[argnum].to)); } } return val;