From 7c7dceee95698ad2add77f35de5d2e8f87ad9287 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 30 May 2002 11:04:58 +0000 Subject: [PATCH] (charset_jisx0201_roman, charset_jisx0208_1978, charset_jisx0208): New variables. (Fdefine_charset_internal): Setup them if appropriate. (init_charset_once): Initialize them to -1. --- src/ChangeLog | 21 +++++++++++++++++++++ src/charset.c | 15 +++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index e1617fcdfc4..1f692dea373 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,24 @@ +2002-05-30 Kenichi Handa + + * charset.c (charset_jisx0201_roman, charset_jisx0208_1978, + charset_jisx0208): New variables. + (Fdefine_charset_internal): Setup them if appropriate. + (init_charset_once): Initialize them to -1. + + * charset.h (charset_jisx0201_roman, charset_jisx0208_1978, + charset_jisx0208): Extern them. + + * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro + (CODING_ISO_FLAG_USE_OLDJIS): New macro. + (CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed. + (setup_iso_safe_charsets): Fix arguemtns to Fassq. + (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN + and CODING_ISO_FLAG_USE_OLDJIS. + (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise. + (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. + (encode_coding_iso_2022): Change the 1st arg to + ENCODE_ISO_CHARACTER to a variable. + 2002-05-29 Kenichi Handa * charset.h (enum define_charset_arg_index): New enums diff --git a/src/charset.c b/src/charset.c index a10fa21b2bc..126b741aa57 100644 --- a/src/charset.c +++ b/src/charset.c @@ -93,6 +93,11 @@ int charset_8_bit_graphic; int charset_iso_8859_1; int charset_unicode; +/* The other special charsets. */ +int charset_jisx0201_roman; +int charset_jisx0208_1978; +int charset_jisx0208; + /* Value of charset attribute `charset-iso-plane'. */ Lisp_Object Qgl, Qgr; @@ -965,6 +970,12 @@ usage: (define-charset-internal ...) */) if (new_definition_p) Viso_2022_charset_list = nconc2 (Viso_2022_charset_list, Fcons (make_number (id), Qnil)); + if (ISO_CHARSET_TABLE (1, 0, 'J') == id) + charset_jisx0201_roman = id; + else if (ISO_CHARSET_TABLE (2, 0, '@') == id) + charset_jisx0208_1978 = id; + else if (ISO_CHARSET_TABLE (2, 0, 'B') == id) + charset_jisx0208 = id; } if (charset.emacs_mule_id >= 0) @@ -1817,6 +1828,10 @@ init_charset_once () for (i = 0; i < 255; i++) emacs_mule_charset[i] = NULL; + charset_jisx0201_roman = -1; + charset_jisx0208_1978 = -1; + charset_jisx0208 = -1; + #if 0 Vchar_charset_set = Fmake_char_table (Qnil, Qnil); CHAR_TABLE_SET (Vchar_charset_set, make_number (97), Qnil); -- 2.39.5