# HG changeset patch # User Kenichi Handa # Date 1212466975 0 # Node ID c118c127704715789d363aecba9ea4dccc18bda1 # Parent 09c5abcca14df17fd504c8757a810112a4279b9b (char_charset): Return NULL if the arg charset_list is specified and C doesn't belong to any of them. diff -r 09c5abcca14d -r c118c1277047 src/charset.c --- a/src/charset.c Tue Jun 03 03:15:48 2008 +0000 +++ b/src/charset.c Tue Jun 03 04:22:55 2008 +0000 @@ -1813,8 +1813,12 @@ Lisp_Object charset_list; unsigned *code_return; { + int maybe_null = 0; + if (NILP (charset_list)) charset_list = Vcharset_ordered_list; + else + maybe_null = 1; while (CONSP (charset_list)) { @@ -1832,7 +1836,8 @@ && EQ (charset_list, Vcharset_non_preferred_head)) return CHARSET_FROM_ID (charset_unicode); } - return (c <= MAX_5_BYTE_CHAR ? CHARSET_FROM_ID (charset_emacs) + return (maybe_null ? NULL + : c <= MAX_5_BYTE_CHAR ? CHARSET_FROM_ID (charset_emacs) : CHARSET_FROM_ID (charset_eight_bit)); }