+2002-05-30 Kenichi Handa <handa@etl.go.jp>
+
+ * 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 <handa@etl.go.jp>
* charset.h (enum define_charset_arg_index): New enums
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;
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)
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);