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