X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fmule-charset.c;h=222ce973345ec2189438d2c6ade7441a700527a4;hb=9816585ded614fa87be5a2ecfda6dc16c60beb2c;hp=f1344c534fb33db00786d2c468110e4b7c931003;hpb=d5e0e47bcb527c8500123bccaff0d9394e1f72f1;p=chise%2Fxemacs-chise.git- diff --git a/src/mule-charset.c b/src/mule-charset.c index f1344c5..222ce97 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -610,7 +610,7 @@ byte_table_same_value_p (Lisp_Object obj) for (i = 1; i < 256; i++) { - if (!EQ (bte->property[i], v0)) + if (!internal_equal (bte->property[i], v0, 0)) return 0; } return -1; @@ -712,7 +712,7 @@ put_byte_table (Lisp_Object table, unsigned char idx, Lisp_Object value) return value; } } - else if (!EQ (table, value)) + else if (!internal_equal (table, value, 0)) { if (UINT8_VALUE_P (table) && UINT8_VALUE_P (value)) { @@ -766,10 +766,17 @@ print_char_id_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) static int char_id_table_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) { - Lisp_Char_ID_Table *cte1 = XCHAR_ID_TABLE (obj1); - Lisp_Char_ID_Table *cte2 = XCHAR_ID_TABLE (obj2); + Lisp_Object table1 = XCHAR_ID_TABLE (obj1)->table; + Lisp_Object table2 = XCHAR_ID_TABLE (obj2)->table; + int i; - return byte_table_equal (cte1->table, cte2->table, depth + 1); + for (i = 0; i < 256; i++) + { + if (!internal_equal (get_byte_table (table1, i), + get_byte_table (table2, i), 0)) + return 0; + } + return -1; } static unsigned long