Lisp_Object table;
Lisp_Object default_value;
Lisp_Object name;
+ Lisp_Object db;
unsigned char unloaded;
#else
Lisp_Object ascii[NUM_ASCII_CHARS];
char_attribute_system_db_file (Lisp_Object key_type, Lisp_Object attribute,
int writing_mode);
-Lisp_Object load_char_attribute_maybe (Emchar ch, Lisp_Object attribute);
+Lisp_Object load_char_attribute_maybe (Lisp_Char_Table* cit, Emchar ch);
#endif
-INLINE_HEADER Lisp_Object get_char_id_table (Lisp_Char_Table* cit, Emchar ch);
+INLINE_HEADER Lisp_Object
+get_char_id_table_0 (Lisp_Char_Table* cit, Emchar ch);
+INLINE_HEADER Lisp_Object
+get_char_id_table_0 (Lisp_Char_Table* cit, Emchar ch)
+{
+ return get_byte_table (get_byte_table
+ (get_byte_table
+ (get_byte_table
+ (cit->table,
+ (unsigned char)(ch >> 24)),
+ (unsigned char) (ch >> 16)),
+ (unsigned char) (ch >> 8)),
+ (unsigned char) ch);
+}
+
+INLINE_HEADER Lisp_Object
+get_char_id_table (Lisp_Char_Table* cit, Emchar ch);
INLINE_HEADER Lisp_Object
get_char_id_table (Lisp_Char_Table* cit, Emchar ch)
{
- Lisp_Object val = get_byte_table (get_byte_table
- (get_byte_table
- (get_byte_table
- (cit->table,
- (unsigned char)(ch >> 24)),
- (unsigned char) (ch >> 16)),
- (unsigned char) (ch >> 8)),
- (unsigned char) ch);
+ Lisp_Object val = get_char_id_table_0 (cit, ch);
+
#ifdef HAVE_DATABASE
if (EQ (val, Qunloaded))
{
- Lisp_Object attribute = CHAR_TABLE_NAME (cit);
-
- if (!NILP (attribute))
- val = load_char_attribute_maybe (ch, attribute);
- else
- val = Qunbound;
+ val = load_char_attribute_maybe (cit, ch);
put_char_id_table_0 (cit, ch, val);
}
#endif