diff options
| author | Kenichi Handa | 2001-01-17 05:55:31 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2001-01-17 05:55:31 +0000 |
| commit | 3bd00f3b932b8813b599f70abd3f70150262410f (patch) | |
| tree | 0c0241d0363fad17b46462fa6c250e2d6ae4c500 /src | |
| parent | 2eda09b59d3e447b806da691a88b1b56db736aa7 (diff) | |
| download | emacs-3bd00f3b932b8813b599f70abd3f70150262410f.tar.gz emacs-3bd00f3b932b8813b599f70abd3f70150262410f.zip | |
(concat): Be sure to avoid putting the same `composition'
property on the adjacent regions.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 5 |
1 files changed, 3 insertions, 2 deletions
| @@ -830,6 +830,7 @@ concat (nargs, args, target_type, last_special) | |||
| 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 | { |
| @@ -840,11 +841,11 @@ concat (nargs, args, target_type, last_special) | |||
| 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; |