]> git.eshelyaron.com Git - emacs.git/commitdiff
(charset_jisx0201_roman, charset_jisx0208_1978,
authorKenichi Handa <handa@m17n.org>
Thu, 30 May 2002 11:04:58 +0000 (11:04 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 30 May 2002 11:04:58 +0000 (11:04 +0000)
charset_jisx0208): New variables.
(Fdefine_charset_internal): Setup them if appropriate.
(init_charset_once): Initialize them to -1.

src/ChangeLog
src/charset.c

index e1617fcdfc4a819e01eaa5021efc5ba286026c0d..1f692dea37336060610c7ff72f68d3b660fae459 100644 (file)
@@ -1,3 +1,24 @@
+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
index a10fa21b2bccca313431d4ffbecc7b1305378e55..126b741aa570240c2bc9480bff92e298e146aa9d 100644 (file)
@@ -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);