+1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Qvietnamese_viscii_lower): New variable.
+       (Qvietnamese_viscii_upper): New variable.
+       (Fdefine_charset_alias): New function.
+       (syms_of_mule_charset): Add new function `define-charset-alias'.
+       (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
+       `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
+       `latin-viscii-*'.
+
 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
        * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
 
   Qucs_bmp,
   Qlatin_viscii_lower,
   Qlatin_viscii_upper,
+  Qvietnamese_viscii_lower,
+  Qvietnamese_viscii_upper,
   Qhiragana_jisx0208,
   Qkatakana_jisx0208,
 #endif
   return new_charset;
 }
 
+DEFUN ("define-charset-alias", Fdefine_charset_alias, 2, 2, 0, /*
+Define symbol ALIAS as an alias for CHARSET.
+*/
+       (alias, charset))
+{
+  CHECK_SYMBOL (alias);
+  charset = Fget_charset (charset);
+  return Fputhash (alias, charset, Vcharset_hash_table);
+}
+
 /* #### Reverse direction charsets not yet implemented.  */
 #if 0
 DEFUN ("charset-reverse-direction-charset", Fcharset_reverse_direction_charset,
   DEFSUBR (Fmake_charset);
   DEFSUBR (Fmake_reverse_direction_charset);
   /*  DEFSUBR (Freverse_direction_charset); */
+  DEFSUBR (Fdefine_charset_alias);
   DEFSUBR (Fcharset_from_attributes);
   DEFSUBR (Fcharset_short_name);
   DEFSUBR (Fcharset_long_name);
   defsymbol (&Qchinese_cns11643_2,     "chinese-cns11643-2");
 #ifdef UTF2000
   defsymbol (&Qucs_bmp,                        "ucs-bmp");
-  defsymbol (&Qlatin_viscii_lower,     "vietnamese-viscii-lower");
-  defsymbol (&Qlatin_viscii_upper,     "vietnamese-viscii-upper");
+  defsymbol (&Qlatin_viscii_lower,     "latin-viscii-lower");
+  defsymbol (&Qlatin_viscii_upper,     "latin-viscii-upper");
+  defsymbol (&Qvietnamese_viscii_lower,        "vietnamese-viscii-lower");
+  defsymbol (&Qvietnamese_viscii_upper,        "vietnamese-viscii-upper");
   defsymbol (&Qhiragana_jisx0208,      "hiragana-jisx0208");
   defsymbol (&Qkatakana_jisx0208,      "katakana-jisx0208");
 #endif
                  build_string ("VISCII upper (Vietnamese)"),
                  build_string ("VISCII1\\.1"),
                  Qnil, 0, 0, 0, 32);
+  /*
+  Fputhash (Qvietnamese_viscii_lower, Vcharset_latin_viscii_lower,
+           Vcharset_hash_table);
+  Fputhash (Qvietnamese_viscii_upper, Vcharset_latin_viscii_upper,
+           Vcharset_hash_table);
+  */
+  Fdefine_charset_alias (Qvietnamese_viscii_lower,
+                        Vcharset_latin_viscii_lower);
+  Fdefine_charset_alias (Qvietnamese_viscii_upper,
+                        Vcharset_latin_viscii_upper);
   staticpro (&Vcharset_hiragana_jisx0208);
   Vcharset_hiragana_jisx0208 =
     make_charset (LEADING_BYTE_HIRAGANA_JISX0208, Qhiragana_jisx0208,