Mercurial > emacs
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 |