EXFUN (Fchar_refs_simplify_char_specs, 1);
extern Lisp_Object Qideographic_structure;
+Lisp_Object Vnext_defined_char_id;
EXFUN (Fdefine_char, 1);
EXFUN (Fmap_char_attribute, 3);
while (CONSP (rest))
{
- ret = Fdefine_char (XCAR (rest));
+ ret = XCAR (rest);
+
+ if (CONSP (ret))
+ ret = Fdefine_char (ret);
+
if (!NILP (ret))
{
Fput_char_attribute (ret, Q_unified_from, list1 (character));
}
rest = Fcdr (rest);
}
+#if 1
+ {
+ int cid = XINT (Vnext_defined_char_id);
+
+ if (cid <= 0xE00000)
+ {
+ character = make_char (cid);
+ Vnext_defined_char_id = make_int (cid + 1);
+ goto setup_attributes;
+ }
+ }
+#else
if ( (!NILP (code = Fcdr (Fassq (Qto_ucs, attributes)))) )
{
if (!INTP (code))
character = make_char (XINT (code) + 0x100000);
goto setup_attributes;
}
+#endif
return Qnil;
}
else if (!INTP (code))
void
vars_of_chartab (void)
{
+#ifdef UTF2000
+ DEFVAR_LISP ("next-defined-char-id", &Vnext_defined_char_id /*
+*/ );
+ Vnext_defined_char_id = make_int (0x0F0000);
+#endif
+
#ifdef HAVE_CHISE
DEFVAR_LISP ("char-db-stingy-mode", &Vchar_db_stingy_mode /*
*/ );