diff --git a/src/ChangeLog b/src/ChangeLog index f5cc4463bea..49936d11a5f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2009-04-09 Kenichi Handa + * charset.c (map_charset_chars): For a charset of `superset' + method, fix calculation of code range. + * font.c (font_put_extra): If VAL is nil, delete the slot for PROP from the list of extra properties. (font_clear_prop): Be sure to delete `:name' font property. diff --git a/src/charset.c b/src/charset.c index 54602ebe21d..492849f6868 100644 --- a/src/charset.c +++ b/src/charset.c @@ -809,8 +809,8 @@ map_charset_chars (c_function, function, arg, charset = CHARSET_FROM_ID (XFASTINT (XCAR (XCAR (parents)))); offset = XINT (XCDR (XCAR (parents))); - this_from = from - offset; - this_to = to - offset; + this_from = from > offset ? from - offset : 0; + this_to = to > offset ? to - offset : 0; if (this_from < CHARSET_MIN_CODE (charset)) this_from = CHARSET_MIN_CODE (charset); if (this_to > CHARSET_MAX_CODE (charset))