]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fdefine_charset_internal): After calculating
authorKenichi Handa <handa@m17n.org>
Sat, 29 Nov 2008 01:46:07 +0000 (01:46 +0000)
committerKenichi Handa <handa@m17n.org>
Sat, 29 Nov 2008 01:46:07 +0000 (01:46 +0000)
min_char, max_char, and fastmap, copy the charset structure again.
(encode_char): Fix the previous change.

src/ChangeLog
src/charset.c

index df1fcc6dacb75fcb341fff1785a108a1c509c8b2..e0575f03d7622ea148a151e379466439aa242132 100644 (file)
@@ -1,3 +1,9 @@
+2008-11-29  Kenichi Handa  <handa@m17n.org>
+
+       * charset.c (Fdefine_charset_internal): After calculating
+       min_char, max_char, and fastmap, copy the charset structure again.
+       (encode_char): Fix the previous change.
+
 2008-11-28  Seiji Zenitani  <zenitani@mac.com>
 
        * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
index 3c52d1f333f6ada1ff49757e7b27f5f5b1686ef0..ef6f3c22c8e75c8a05b6a36db6f76c4605853288 100644 (file)
@@ -1199,7 +1199,10 @@ usage: (define-charset-internal ...)  */)
   charset_table[id] = charset;
 
   if (charset.method == CHARSET_METHOD_MAP)
-    load_charset (&charset, 0);
+    {
+      load_charset (&charset, 0);
+      charset_table[id] = charset;
+    }
 
   if (charset.iso_final >= 0)
     {
@@ -1855,8 +1858,11 @@ encode_char (charset, c)
 
       encoder = CHARSET_ENCODER (charset);
       if (! CHAR_TABLE_P (CHARSET_ENCODER (charset)))
-       load_charset (charset);
-      if (CHAR_TABLE_P (CHARSET_ENCODER (charset)))
+       {
+         load_charset (charset, 2);
+         encoder = CHARSET_ENCODER (charset);
+       }
+      if (CHAR_TABLE_P (encoder))
        {
          val = CHAR_TABLE_REF (encoder, c);
          if (NILP (val))