]> git.eshelyaron.com Git - emacs.git/commitdiff
(compose_chars_in_text): Fix setup of `pend'.
authorKim F. Storm <storm@cua.dk>
Mon, 12 Sep 2005 20:38:47 +0000 (20:38 +0000)
committerKim F. Storm <storm@cua.dk>
Mon, 12 Sep 2005 20:38:47 +0000 (20:38 +0000)
Unconditionally reload `ptr' and `pend' after eval.

src/composite.c

index daa6dceb3c600928633d2373a80fb5692f0c9eff..02abb66e1e5e8242617277d66ceddf929a38a4b6 100644 (file)
@@ -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++;