diff src/chartab.c @ 5320:31be2a3d121d

Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL() 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> * elhash.c (syms_of_elhash): * chartab.c (syms_of_chartab): * abbrev.c (syms_of_abbrev): * general-slots.h: Move Qcount, Q_default, Q_test to general-slots.h, they're about to be used by other files. Rename Q_default to Q_default_, for the sake of the PARSE_KEYWORDS macro (given that default is a reserved identifier in C). Add SYMBOL_KEYWORD_GENERAL(), analogous to SYMBOL_GENERAL() to make this easier.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 30 Dec 2010 00:50:10 +0000
parents c096d8051f89
children 6506fcb40fcf
line wrap: on
line diff
--- a/src/chartab.c	Thu Dec 30 00:18:50 2010 +0000
+++ b/src/chartab.c	Thu Dec 30 00:50:10 2010 +0000
@@ -42,7 +42,7 @@
 #include "chartab.h"
 #include "syntax.h"
 
-Lisp_Object Qchar_tablep, Qchar_table, Q_default;
+Lisp_Object Qchar_tablep, Qchar_table;
 
 Lisp_Object Vall_syntax_tables;
 
@@ -1581,7 +1581,7 @@
 	    {
 	      type = value;
 	    }
-	  else if (EQ (key, Q_default))
+	  else if (EQ (key, Q_default_))
 	    {
 	      default_ = value;
 	    }
@@ -1626,7 +1626,11 @@
       check_valid_char_table_value (default_, XCHAR_TABLE_TYPE (chartab),
 				    ERROR_ME);
       set_char_table_default (chartab, default_);
-      set_char_table_default (XCHAR_TABLE (chartab)->mirror_table, default_);
+      if (!NILP (XCHAR_TABLE (chartab)->mirror_table))
+        {
+          set_char_table_default (XCHAR_TABLE (chartab)->mirror_table,
+                                  default_);
+        }
     }
 
   while (!NILP (dataval))
@@ -1902,7 +1906,6 @@
 
   DEFSYMBOL (Qchar_table);
   DEFSYMBOL_MULTIWORD_PREDICATE (Qchar_tablep);
-  DEFKEYWORD (Q_default);
 
   DEFSUBR (Fchar_table_p);
   DEFSUBR (Fchar_table_type_list);
@@ -1957,7 +1960,7 @@
 
   define_structure_type_keyword (st, Q_type, chartab_type_validate);
   define_structure_type_keyword (st, Q_data, chartab_data_validate);
-  define_structure_type_keyword (st, Q_default, chartab_default_validate);
+  define_structure_type_keyword (st, Q_default_, chartab_default_validate);
 }
 
 void