/* Preamble for uniprop (Unicode character property) tables. See the
comment of "Unicode character property tables". */
-/* Purpose of uniprop tables. */
-static Lisp_Object Qchar_code_property_table;
-
/* Types of decoder and encoder functions for uniprop values. */
typedef Lisp_Object (*uniprop_decoder_t) (Lisp_Object, Lisp_Object);
typedef Lisp_Object (*uniprop_encoder_t) (Lisp_Object, Lisp_Object);
return value;
}
-/* Look up the element in TABLE at index CH, and return it as an
- integer. If the element is not a character, return CH itself. */
-
-int
-char_table_translate (Lisp_Object table, int ch)
-{
- Lisp_Object value;
- value = Faref (table, make_number (ch));
- if (! CHARACTERP (value))
- return ch;
- return XINT (value);
-}
-
static Lisp_Object
optimize_sub_char_table (Lisp_Object table, Lisp_Object test)
{
break;
value = make_number (i);
if (i == size)
- {
- Lisp_Object args[2];
-
- args[0] = XCHAR_TABLE (table)->extras[4];
- args[1] = Fmake_vector (make_number (1), value);
- set_char_table_extras (table, 4, Fvconcat (2, args));
- }
+ set_char_table_extras (table, 4, Fvconcat (2, ((Lisp_Object []) {
+ XCHAR_TABLE (table)->extras[4], Fmake_vector (make_number (1), value) })));
return make_number (i);
}
{
struct gcpro gcpro1;
GCPRO1 (val);
- result = Fload (concat2 (build_string ("international/"), table),
- Qt, Qt, Qt, Qt);
+ AUTO_STRING (intl, "international/");
+ result = Fload (concat2 (intl, table), Qt, Qt, Qt, Qt);
UNGCPRO;
if (NILP (result))
return Qnil;
void
syms_of_chartab (void)
{
+ /* Purpose of uniprop tables. */
DEFSYM (Qchar_code_property_table, "char-code-property-table");
defsubr (&Smake_char_table);