Mercurial > hg > xemacs-beta
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