Commit 983f6a3d authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(optimize_sub_char_table): Don't optimize a sub-char-table

whose default value is non-nil.
parent 7b7d4a79
......@@ -2777,7 +2777,8 @@ optimize_sub_char_table (table, chars)
else
from = 32, to = 128;
if (!SUB_CHAR_TABLE_P (*table))
if (!SUB_CHAR_TABLE_P (*table)
|| ! NILP (XCHAR_TABLE (*table)->defalt))
return;
elt = XCHAR_TABLE (*table)->contents[from++];
for (; from < to; from++)
......@@ -2792,7 +2793,7 @@ DEFUN ("optimize-char-table", Foptimize_char_table, Soptimize_char_table,
Lisp_Object table;
{
Lisp_Object elt;
int dim;
int dim, chars;
int i, j;
CHECK_CHAR_TABLE (table);
......@@ -2803,10 +2804,11 @@ DEFUN ("optimize-char-table", Foptimize_char_table, Soptimize_char_table,
if (!SUB_CHAR_TABLE_P (elt))
continue;
dim = CHARSET_DIMENSION (i - 128);
chars = CHARSET_CHARS (i - 128);
if (dim == 2)
for (j = 32; j < SUB_CHAR_TABLE_ORDINARY_SLOTS; j++)
optimize_sub_char_table (XCHAR_TABLE (elt)->contents + j, dim);
optimize_sub_char_table (XCHAR_TABLE (table)->contents + i, dim);
optimize_sub_char_table (XCHAR_TABLE (elt)->contents + j, chars);
optimize_sub_char_table (XCHAR_TABLE (table)->contents + i, chars);
}
return Qnil;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment