(M-08678): Separate C1-477C.
[chise/xemacs-chise.git] / src / casetab.c
index ff9443c..2d52a84 100644 (file)
@@ -42,14 +42,13 @@ Boston, MA 02111-1307, USA.  */
 #include "buffer.h"
 #include "opaque.h"
 
-Lisp_Object Qcase_table_p;
+Lisp_Object Qcase_tablep;
 Lisp_Object Vascii_downcase_table, Vascii_upcase_table;
 Lisp_Object Vascii_canon_table, Vascii_eqv_table;
 #ifdef MULE
 Lisp_Object Vmirror_ascii_downcase_table, Vmirror_ascii_upcase_table;
 Lisp_Object Vmirror_ascii_canon_table, Vmirror_ascii_eqv_table;
 #endif
-Lisp_Object Qtranslate_table;
 
 static void compute_trt_inverse (Lisp_Object trt, Lisp_Object inverse);
 
@@ -81,7 +80,7 @@ check_case_table (Lisp_Object obj)
   REGISTER Lisp_Object tem;
 
   while (tem = Fcase_table_p (obj), NILP (tem))
-    obj = wrong_type_argument (Qcase_table_p, obj);
+    obj = wrong_type_argument (Qcase_tablep, obj);
   return (obj);
 }
 
@@ -190,7 +189,8 @@ static Lisp_Object
 set_case_table (Lisp_Object table, int standard)
 {
   Lisp_Object down, up, canon, eqv, tail = table;
-  struct buffer *buf = current_buffer;
+  struct buffer *buf =
+    standard ? XBUFFER(Vbuffer_defaults) : current_buffer;
 
   check_case_table (table);
 
@@ -243,19 +243,17 @@ set_case_table (Lisp_Object table, int standard)
       Vmirror_ascii_eqv_table = make_mirror_trt_table (eqv);
 #endif
     }
-  else
-    {
-      buf->downcase_table = down;
-      buf->upcase_table = up;
-      buf->case_canon_table = canon;
-      buf->case_eqv_table = eqv;
+  buf->downcase_table = down;
+  buf->upcase_table = up;
+  buf->case_canon_table = canon;
+  buf->case_eqv_table = eqv;
 #ifdef MULE
-      buf->mirror_downcase_table = make_mirror_trt_table (down);
-      buf->mirror_upcase_table = make_mirror_trt_table (up);
-      buf->mirror_case_canon_table = make_mirror_trt_table (canon);
-      buf->mirror_case_eqv_table = make_mirror_trt_table (eqv);
+  buf->mirror_downcase_table = make_mirror_trt_table (down);
+  buf->mirror_upcase_table = make_mirror_trt_table (up);
+  buf->mirror_case_canon_table = make_mirror_trt_table (canon);
+  buf->mirror_case_eqv_table = make_mirror_trt_table (eqv);
 #endif
-    }
+
   return table;
 }
 \f
@@ -289,8 +287,7 @@ compute_trt_inverse (Lisp_Object trt, Lisp_Object inverse)
 void
 syms_of_casetab (void)
 {
-  defsymbol (&Qcase_table_p, "case-table-p");
-  defsymbol (&Qtranslate_table, "translate-table");
+  defsymbol (&Qcase_tablep, "case-table-p");
 
   DEFSUBR (Fcase_table_p);
   DEFSUBR (Fcurrent_case_table);
@@ -310,6 +307,13 @@ complex_vars_of_casetab (void)
   staticpro (&Vascii_canon_table);
   staticpro (&Vascii_eqv_table);
 
+#ifdef MULE
+  staticpro (&Vmirror_ascii_downcase_table);
+  staticpro (&Vmirror_ascii_upcase_table);
+  staticpro (&Vmirror_ascii_canon_table);
+  staticpro (&Vmirror_ascii_eqv_table);
+#endif
+
   tem = MAKE_TRT_TABLE ();
   Vascii_downcase_table = tem;
   Vascii_canon_table = tem;