diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/data.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/data.c b/src/data.c index 942a4f4bed5..8b970959f9e 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1707,13 +1707,19 @@ IDX starts at 0.") | |||
| 1707 | if (SUB_CHAR_TABLE_P (val)) | 1707 | if (SUB_CHAR_TABLE_P (val)) |
| 1708 | array = val; | 1708 | array = val; |
| 1709 | else | 1709 | else |
| 1710 | /* VAL is a leaf. Create a sub char table with the | 1710 | { |
| 1711 | default value VAL or XCHAR_TABLE (array)->defalt | 1711 | Lisp_Object temp; |
| 1712 | and look into it. */ | 1712 | |
| 1713 | array = (XCHAR_TABLE (array)->contents[code[i]] | 1713 | /* VAL is a leaf. Create a sub char table with the |
| 1714 | = make_sub_char_table (NILP (val) | 1714 | default value VAL or XCHAR_TABLE (array)->defalt |
| 1715 | ? XCHAR_TABLE (array)->defalt | 1715 | and look into it. */ |
| 1716 | : val)); | 1716 | |
| 1717 | temp = make_sub_char_table (NILP (val) | ||
| 1718 | ? XCHAR_TABLE (array)->defalt | ||
| 1719 | : val); | ||
| 1720 | XCHAR_TABLE (array)->contents[code[i]] = temp; | ||
| 1721 | array = temp; | ||
| 1722 | } | ||
| 1717 | } | 1723 | } |
| 1718 | XCHAR_TABLE (array)->contents[code[i]] = newelt; | 1724 | XCHAR_TABLE (array)->contents[code[i]] = newelt; |
| 1719 | } | 1725 | } |