coding.c (Funencodable_char_position): Pay attention to the buffer text relocation...
authorKenichi Handa <handa@m17n.org>
Sun, 11 Dec 2011 12:08:51 +0000 (21:08 +0900)
committerKenichi Handa <handa@m17n.org>
Sun, 11 Dec 2011 12:08:51 +0000 (21:08 +0900)
src/ChangeLog
src/coding.c

index 20fd021..221ba91 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-11  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (Funencodable_char_position): Pay attention to the
+       buffer text relocation (Bug#9389).
+
 2011-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 
        * xterm.c (x_term_init): Move call to gdk_window_add_filter before
index 5026809..e15d725 100644 (file)
@@ -8756,6 +8756,7 @@ to the string.  */)
     }
 
   positions = Qnil;
+  charset_map_loaded = 0;
   while (1)
     {
       int c;
@@ -8783,6 +8784,16 @@ to the string.  */)
        }
 
       from++;
+      if (charset_map_loaded && NILP (string))
+       {
+         p = CHAR_POS_ADDR (from);
+         pend = CHAR_POS_ADDR (to);
+         if (from < GPT && to >= GPT)
+           stop = GPT_ADDR;
+         else
+           stop = pend;
+         charset_map_loaded = 0;
+       }
     }
 
   return (NILP (count) ? Fcar (positions) : Fnreverse (positions));