update.
[chise/xemacs-chise.git.1] / src / mule-charset.c
index 1c91eb8..0007daa 100644 (file)
@@ -1,7 +1,7 @@
 /* Functions to handle multilingual characters.
    Copyright (C) 1992, 1995 Free Software Foundation, Inc.
    Copyright (C) 1995 Sun Microsystems, Inc.
-   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2011
+   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2011, 2013, 2016
      MORIOKA Tomohiko
 
 This file is part of XEmacs.
@@ -1149,9 +1149,19 @@ charset_code_point (Lisp_Object charset, Emchar ch, int accepted_mode)
       Lisp_Object encoding_table = XCHARSET_ENCODING_TABLE (charset);
 
       if ( CHAR_TABLEP (encoding_table)
-          && INTP (ret = get_char_id_table (XCHAR_TABLE(encoding_table),
-                                            ch)) )
-       return XINT (ret);
+#ifdef USE_CONCORD_OBJECT_SYSTEM
+          && !UNBOUNDP (ret = get_char_id_table_ce (XCHAR_TABLE
+                                                    (encoding_table),
+                                                    ch))
+#else
+          && !UNBOUNDP (ret = get_char_id_table (XCHAR_TABLE(encoding_table),
+                                                 ch))
+#endif
+          )
+       if ( INTP (ret) )
+         return XINT (ret);
+       else
+         return -1;
     }
     {
       Lisp_Object mother = XCHARSET_MOTHER (charset);
@@ -2553,10 +2563,12 @@ load_char_decoding_entry_maybe (Lisp_Object ccs, int code_point)
     = chise_ds_decode_char (default_chise_data_source,
                            XSTRING_DATA(Fsymbol_name (XCHARSET_NAME(ccs))),
                            code_point);
+#if 0
   if (char_id >= 0)
     decoding_table_put_char (ccs, code_point, make_char (char_id));
   else
     decoding_table_put_char (ccs, code_point, Qnil);
+#endif
 
   /* chise_ccst_close (dt_ccs); */
   return char_id;