Mercurial > emacs
changeset 22701:c771a25f6f8c
(Fset_char_table_default): Check only if the charset of
the arg CH is in the valid range or not. Handle the case that CH
is a generic character for composite characters.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 06 Jul 1998 06:33:55 +0000 |
parents | 0931de7fa601 |
children | 1e265354a43a |
files | src/fns.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fns.c Mon Jul 06 01:54:21 1998 +0000 +++ b/src/fns.c Mon Jul 06 06:33:55 1998 +0000 @@ -1998,15 +1998,19 @@ c = XINT (ch); SPLIT_NON_ASCII_CHAR (c, charset, code1, code2); - if (! CHARSET_DEFINED_P (charset)) - invalid_character (c); + + /* Since we may want to set the default value for a character set + not yet defined, we check only if the character set is in the + valid range or not, instead of it is already defined or not. */ + if (! CHARSET_VALID_P (charset)) + invalid_character (c); if (charset == CHARSET_ASCII) return (XCHAR_TABLE (char_table)->defalt = value); /* Even if C is not a generic char, we had better behave as if a generic char is specified. */ - if (CHARSET_DIMENSION (charset) == 1) + if (charset == CHARSET_COMPOSITION || CHARSET_DIMENSION (charset) == 1) code1 = 0; temp = XCHAR_TABLE (char_table)->contents[charset + 128]; if (!code1)