aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2005-09-12 20:38:47 +0000
committerKim F. Storm2005-09-12 20:38:47 +0000
commit5874a24c2d252c2bee65469f60081a865cec802c (patch)
tree2b82574eaeca86adb96a9869c12a6734c59781cb /src
parent0fdbe3025f1e36f1c6bed744f3c9ac2a2af8130b (diff)
downloademacs-5874a24c2d252c2bee65469f60081a865cec802c.tar.gz
emacs-5874a24c2d252c2bee65469f60081a865cec802c.zip
(compose_chars_in_text): Fix setup of `pend'.
Unconditionally reload `ptr' and `pend' after eval.
Diffstat (limited to 'src')
-rw-r--r--src/composite.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/composite.c b/src/composite.c
index daa6dceb3c6..02abb66e1e5 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -616,7 +616,7 @@ compose_chars_in_text (start, end, string)
616 GCPRO1 (string); 616 GCPRO1 (string);
617 stop = end; 617 stop = end;
618 ptr = SDATA (string) + string_char_to_byte (string, start); 618 ptr = SDATA (string) + string_char_to_byte (string, start);
619 pend = ptr + SBYTES (string); 619 pend = SDATA (string) + SBYTES (string);
620 } 620 }
621 else 621 else
622 { 622 {
@@ -680,10 +680,19 @@ compose_chars_in_text (start, end, string)
680 { 680 {
681 start += XINT (val); 681 start += XINT (val);
682 if (STRINGP (string)) 682 if (STRINGP (string))
683 ptr = SDATA (string) + string_char_to_byte (string, start); 683 {
684 ptr = SDATA (string) + string_char_to_byte (string, start);
685 pend = SDATA (string) + SBYTES (string);
686 }
684 else 687 else
685 ptr = CHAR_POS_ADDR (start); 688 ptr = CHAR_POS_ADDR (start);
686 } 689 }
690 else if (STRINGP (string))
691 {
692 start++;
693 ptr = SDATA (string) + string_char_to_byte (string, start);
694 pend = SDATA (string) + SBYTES (string);
695 }
687 else 696 else
688 { 697 {
689 start++; 698 start++;