#define XCHARSET_BYTE_SIZE(ccs) CHARSET_BYTE_SIZE (XCHARSET (ccs))
+int decoding_table_check_elements (Lisp_Object v, int dim, int ccs_len);
int
decoding_table_check_elements (Lisp_Object v, int dim, int ccs_len)
{
|| !INTP (value)
|| (XCHAR (character) != XINT (value)))
{
+#if 0
+ Lisp_Object decoding_table = XCHARSET_DECODING_TABLE (ccs);
+#else
Lisp_Object v = XCHARSET_DECODING_TABLE (ccs);
int ccs_len = XCHARSET_BYTE_SIZE (ccs);
+#endif
int code_point;
if (CONSP (value))
else
signal_simple_error ("Invalid value for coded-charset", value);
+#if 0
+ if (CHAR_TABLEP (decoding_table))
+ {
+ Lisp_Object cpos = Fget_char_attribute (character, ccs, Qnil);
+
+ if (INTP (cpos))
+ decoding_table_remove_char (ccs, XINT (cpos));
+ }
+#else
if (VECTORP (v))
{
Lisp_Object cpos = Fget_char_attribute (character, ccs, Qnil);
XCHARSET_DECODING_TABLE (ccs)
= v = make_vector (ccs_len, Qnil);
}
+#endif
decoding_table_put_char (ccs, code_point, character);
}
Lisp_Object decoding_table = XCHARSET_DECODING_TABLE (ccs);
Lisp_Object encoding_table = XCHARSET_ENCODING_TABLE (ccs);
+#if 0
+ if (CHAR_TABLEP (decoding_table))
+ {
+ Lisp_Object cpos = Fget_char_attribute (character, ccs, Qnil);
+
+ if (!NILP (cpos))
+ {
+ decoding_table_remove_char (ccs, XINT (cpos));
+ }
+ }
+#else
if (VECTORP (decoding_table))
{
Lisp_Object cpos = Fget_char_attribute (character, ccs, Qnil);
decoding_table_remove_char (ccs, XINT (cpos));
}
}
+#endif
if (CHAR_TABLEP (encoding_table))
{
- put_char_id_table (XCHAR_TABLE(encoding_table), character, Qnil);
+ put_char_id_table (XCHAR_TABLE(encoding_table), character, Qunbound);
}
return Qt;
}
CHARSET_CCL_PROGRAM (cs) = Qnil;
CHARSET_REVERSE_DIRECTION_CHARSET (cs) = Qnil;
#ifdef UTF2000
- CHARSET_DECODING_TABLE(cs) = Qnil;
+ CHARSET_DECODING_TABLE(cs) = Qunbound;
CHARSET_MIN_CODE (cs) = min_code;
CHARSET_MAX_CODE (cs) = max_code;
CHARSET_CODE_OFFSET (cs) = code_offset;