aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2001-01-17 05:55:31 +0000
committerKenichi Handa2001-01-17 05:55:31 +0000
commit3bd00f3b932b8813b599f70abd3f70150262410f (patch)
tree0c0241d0363fad17b46462fa6c250e2d6ae4c500 /src
parent2eda09b59d3e447b806da691a88b1b56db736aa7 (diff)
downloademacs-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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/fns.c b/src/fns.c
index fd06513a0b4..4656c41a9f3 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -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;