From 5874a24c2d252c2bee65469f60081a865cec802c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 12 Sep 2005 20:38:47 +0000 Subject: [PATCH] (compose_chars_in_text): Fix setup of `pend'. Unconditionally reload `ptr' and `pend' after eval. --- src/composite.c | 13 +++++++++++-- 1 file 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) GCPRO1 (string); stop = end; ptr = SDATA (string) + string_char_to_byte (string, start); - pend = ptr + SBYTES (string); + pend = SDATA (string) + SBYTES (string); } else { @@ -680,10 +680,19 @@ compose_chars_in_text (start, end, string) { start += XINT (val); if (STRINGP (string)) - ptr = SDATA (string) + string_char_to_byte (string, start); + { + ptr = SDATA (string) + string_char_to_byte (string, start); + pend = SDATA (string) + SBYTES (string); + } else ptr = CHAR_POS_ADDR (start); } + else if (STRINGP (string)) + { + start++; + ptr = SDATA (string) + string_char_to_byte (string, start); + pend = SDATA (string) + SBYTES (string); + } else { start++; -- 2.39.2