comparison src/fns.c @ 35352:42b56dd8986e

(concat): Be sure to avoid putting the same `composition' property on the adjacent regions.
author Kenichi Handa <handa@m17n.org>
date Wed, 17 Jan 2001 05:55:31 +0000
parents 002c02db42d3
children cb1dfadd1a18
comparison
equal deleted inserted replaced
35351:5e8aeef6d306 35352:42b56dd8986e
828 XCDR (prev) = last_tail; 828 XCDR (prev) = last_tail;
829 829
830 if (num_textprops > 0) 830 if (num_textprops > 0)
831 { 831 {
832 Lisp_Object props; 832 Lisp_Object props;
833 int last_to_end = -1;
833 834
834 for (argnum = 0; argnum < num_textprops; argnum++) 835 for (argnum = 0; argnum < num_textprops; argnum++)
835 { 836 {
836 this = args[textprops[argnum].argnum]; 837 this = args[textprops[argnum].argnum];
837 props = text_property_list (this, 838 props = text_property_list (this,
838 make_number (0), 839 make_number (0),
839 make_number (XSTRING (this)->size), 840 make_number (XSTRING (this)->size),
840 Qnil); 841 Qnil);
841 /* If successive arguments have properites, be sure that the 842 /* If successive arguments have properites, be sure that the
842 value of `composition' property be the copy. */ 843 value of `composition' property be the copy. */
843 if (argnum > 0 844 if (last_to_end == textprops[argnum].to)
844 && textprops[argnum - 1].argnum + 1 == textprops[argnum].argnum)
845 make_composition_value_copy (props); 845 make_composition_value_copy (props);
846 add_text_properties_from_list (val, props, 846 add_text_properties_from_list (val, props,
847 make_number (textprops[argnum].to)); 847 make_number (textprops[argnum].to));
848 last_to_end = textprops[argnum].to + XSTRING (this)->size;
848 } 849 }
849 } 850 }
850 return val; 851 return val;
851 } 852 }
852 853