/* Synched up with: Mule 2.3.   Not in FSF. */
 
 /* Rewritten by Ben Wing <ben@xemacs.org>. */
-/* Rewritten by MORIOKA Tomohiko <tomo@m17n.org> for XEmacs UTF-2000. */
+/* Rewritten by MORIOKA Tomohiko <tomo@m17n.org> for XEmacs CHISE. */
 
 #include <config.h>
 #include "lisp.h"
                         make_int (base)));
              Emchar chr
                = NILP (char_type)
-               ? DECODE_CHAR (ccs, code)
+               ? DECODE_CHAR (ccs, code, 0)
                : decode_builtin_char (ccs, code);
 
              DECODE_ADD_UCS_CHAR (chr, dst);
 
          if ( (code_point >= 0)
               && (NILP (char_type)
-                  || DECODE_CHAR (ccs, code_point) != ch) )
+                  || DECODE_CHAR (ccs, code_point, 0) != ch) )
            {
              Lisp_Object ret;
 
            {
 #ifdef UTF2000
              int code_point = (cpos << 8) | c;
-             Emchar char_id = decode_defined_char (ccs, code_point);
+             Emchar char_id = decode_defined_char (ccs, code_point, 0);
 
              if (char_id < 0)
-               char_id = DECODE_CHAR (Vcharset_chinese_big5, code_point);
+               char_id
+                 = DECODE_CHAR (Vcharset_chinese_big5, code_point, 0);
              DECODE_ADD_UCS_CHAR (char_id, dst);
 #else
              unsigned char b1, b2, b3;
 
              if (!NILP (ccs))
                {
-                 char_id = decode_defined_char (ccs, cpos);
+                 char_id = decode_defined_char (ccs, cpos, 0);
 
                  if (char_id < 0)
                    char_id = cpos;
                }
              else
-               ccs = char_id;
+               char_id = cpos;
              COMPOSE_ADD_CHAR (str, char_id, dst);
              cpos = 0;
              counter = 0;
                  COMPOSE_ADD_CHAR (str,
                                    DECODE_CHAR (charset,
                                                 ((cpos & 0x7F7F7F) << 8)
-                                                | (c & 0x7F)),
+                                                | (c & 0x7F), 0),
                                    dst);
                  cpos = 0;
                  counter = 0;