aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa1998-07-06 06:33:55 +0000
committerKenichi Handa1998-07-06 06:33:55 +0000
commit0da528a90911420aa3ea47e67bd9b43ad52be680 (patch)
tree13ec0cfcac7bf43ade18df4368df59d3cbfcb9b4 /src
parentc7d8aff3e02beeca791c8e35cfeae6da07ee8732 (diff)
downloademacs-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.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c
index 4d4a2184e15..ae347c52e6b 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -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)