if (SUB_CHAR_TABLE_P (val))
array = val;
else
- /* VAL is a leaf. Create a sub char table with the
- default value VAL or XCHAR_TABLE (array)->defalt
- and look into it. */
- array = (XCHAR_TABLE (array)->contents[code[i]]
- = make_sub_char_table (NILP (val)
- ? XCHAR_TABLE (array)->defalt
- : val));
+ {
+ Lisp_Object temp;
+
+ /* VAL is a leaf. Create a sub char table with the
+ default value VAL or XCHAR_TABLE (array)->defalt
+ and look into it. */
+
+ temp = make_sub_char_table (NILP (val)
+ ? XCHAR_TABLE (array)->defalt
+ : val);
+ XCHAR_TABLE (array)->contents[code[i]] = temp;
+ array = temp;
+ }
}
XCHAR_TABLE (array)->contents[code[i]] = newelt;
}