(get_char_id_table): New inline function.
authortomo <tomo>
Fri, 7 Sep 2001 07:23:58 +0000 (07:23 +0000)
committertomo <tomo>
Fri, 7 Sep 2001 07:23:58 +0000 (07:23 +0000)
src/chartab.h

index b5abc3e..4651d1b 100644 (file)
@@ -308,7 +308,23 @@ extern Lisp_Object Vall_syntax_tables;
 \f
 #ifdef UTF2000
 
-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);
+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);
+  if (UNBOUNDP (val))
+    return cit->default_value;
+  else
+    return val;
+}
 
 INLINE_HEADER void
 put_char_id_table_0 (Lisp_Char_Table* cit, Emchar code, Lisp_Object value);