Mercurial > hg > xemacs-beta
comparison src/casetab.c @ 5117:3742ea8250b5 ben-lisp-object ben-lisp-object-final-ws-year-2005
Checking in final CVS version of workspace 'ben-lisp-object'
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 00:20:27 -0600 |
parents | 1e7cc382eb16 |
children | e0db3c197671 |
comparison
equal
deleted
inserted
replaced
5116:e56f73345619 | 5117:3742ea8250b5 |
---|---|
105 { XD_LISP_OBJECT, offsetof (Lisp_Case_Table, case_eqv_table) }, | 105 { XD_LISP_OBJECT, offsetof (Lisp_Case_Table, case_eqv_table) }, |
106 { XD_END } | 106 { XD_END } |
107 }; | 107 }; |
108 | 108 |
109 | 109 |
110 DEFINE_LRECORD_IMPLEMENTATION("case-table", case_table, | 110 DEFINE_LISP_OBJECT("case-table", case_table, |
111 1, /*dumpable-flag*/ | |
112 mark_case_table, print_case_table, 0, | 111 mark_case_table, print_case_table, 0, |
113 0, 0, case_table_description, Lisp_Case_Table); | 112 0, 0, case_table_description, Lisp_Case_Table); |
114 | 113 |
115 static Lisp_Object | 114 static Lisp_Object |
116 allocate_case_table (int init_tables) | 115 allocate_case_table (int init_tables) |
117 { | 116 { |
118 Lisp_Case_Table *ct = | 117 Lisp_Object obj = ALLOC_LISP_OBJECT (case_table); |
119 ALLOC_LCRECORD_TYPE (Lisp_Case_Table, &lrecord_case_table); | 118 Lisp_Case_Table *ct = XCASE_TABLE (obj); |
120 | 119 |
121 if (init_tables) | 120 if (init_tables) |
122 { | 121 { |
123 SET_CASE_TABLE_DOWNCASE (ct, MAKE_TRT_TABLE ()); | 122 SET_CASE_TABLE_DOWNCASE (ct, MAKE_TRT_TABLE ()); |
124 SET_CASE_TABLE_UPCASE (ct, MAKE_TRT_TABLE ()); | 123 SET_CASE_TABLE_UPCASE (ct, MAKE_TRT_TABLE ()); |
130 SET_CASE_TABLE_DOWNCASE (ct, Qnil); | 129 SET_CASE_TABLE_DOWNCASE (ct, Qnil); |
131 SET_CASE_TABLE_UPCASE (ct, Qnil); | 130 SET_CASE_TABLE_UPCASE (ct, Qnil); |
132 SET_CASE_TABLE_CANON (ct, Qnil); | 131 SET_CASE_TABLE_CANON (ct, Qnil); |
133 SET_CASE_TABLE_EQV (ct, Qnil); | 132 SET_CASE_TABLE_EQV (ct, Qnil); |
134 } | 133 } |
135 return wrap_case_table (ct); | 134 return obj; |
136 } | 135 } |
137 | 136 |
138 DEFUN ("make-case-table", Fmake_case_table, 0, 0, 0, /* | 137 DEFUN ("make-case-table", Fmake_case_table, 0, 0, 0, /* |
139 Create a new, empty case table. | 138 Create a new, empty case table. |
140 */ | 139 */ |
493 | 492 |
494 | 493 |
495 void | 494 void |
496 syms_of_casetab (void) | 495 syms_of_casetab (void) |
497 { | 496 { |
498 INIT_LRECORD_IMPLEMENTATION (case_table); | 497 INIT_LISP_OBJECT (case_table); |
499 | 498 |
500 DEFSYMBOL_MULTIWORD_PREDICATE (Qcase_tablep); | 499 DEFSYMBOL_MULTIWORD_PREDICATE (Qcase_tablep); |
501 DEFSYMBOL (Qdowncase); | 500 DEFSYMBOL (Qdowncase); |
502 DEFSYMBOL (Qupcase); | 501 DEFSYMBOL (Qupcase); |
503 | 502 |