diff options
| author | Kenichi Handa | 1998-07-06 06:33:55 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-07-06 06:33:55 +0000 |
| commit | 0da528a90911420aa3ea47e67bd9b43ad52be680 (patch) | |
| tree | 13ec0cfcac7bf43ade18df4368df59d3cbfcb9b4 /src | |
| parent | c7d8aff3e02beeca791c8e35cfeae6da07ee8732 (diff) | |
| download | emacs-0da528a90911420aa3ea47e67bd9b43ad52be680.tar.gz emacs-0da528a90911420aa3ea47e67bd9b43ad52be680.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 10 |
1 files changed, 7 insertions, 3 deletions
| @@ -1998,15 +1998,19 @@ See also the documentation of make-char.") | |||
| 1998 | 1998 | ||
| 1999 | c = XINT (ch); | 1999 | c = XINT (ch); |
| 2000 | SPLIT_NON_ASCII_CHAR (c, charset, code1, code2); | 2000 | SPLIT_NON_ASCII_CHAR (c, charset, code1, code2); |
| 2001 | if (! CHARSET_DEFINED_P (charset)) | 2001 | |
| 2002 | invalid_character (c); | 2002 | /* Since we may want to set the default value for a character set |
| 2003 | not yet defined, we check only if the character set is in the | ||
| 2004 | valid range or not, instead of it is already defined or not. */ | ||
| 2005 | if (! CHARSET_VALID_P (charset)) | ||
| 2006 | invalid_character (c); | ||
| 2003 | 2007 | ||
| 2004 | if (charset == CHARSET_ASCII) | 2008 | if (charset == CHARSET_ASCII) |
| 2005 | return (XCHAR_TABLE (char_table)->defalt = value); | 2009 | return (XCHAR_TABLE (char_table)->defalt = value); |
| 2006 | 2010 | ||
| 2007 | /* Even if C is not a generic char, we had better behave as if a | 2011 | /* Even if C is not a generic char, we had better behave as if a |
| 2008 | generic char is specified. */ | 2012 | generic char is specified. */ |
| 2009 | if (CHARSET_DIMENSION (charset) == 1) | 2013 | if (charset == CHARSET_COMPOSITION || CHARSET_DIMENSION (charset) == 1) |
| 2010 | code1 = 0; | 2014 | code1 = 0; |
| 2011 | temp = XCHAR_TABLE (char_table)->contents[charset + 128]; | 2015 | temp = XCHAR_TABLE (char_table)->contents[charset + 128]; |
| 2012 | if (!code1) | 2016 | if (!code1) |