Mercurial > hg > xemacs-beta
comparison src/chartab.h @ 5133:444a448b2f53
Merge branch ben-lisp-object into default branch
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sun, 07 Mar 2010 06:47:37 -0600 |
parents | a9c41067dd88 |
children | 308d34e9f07d |
comparison
equal
deleted
inserted
replaced
5113:b2dcf6a6d8ab | 5133:444a448b2f53 |
---|---|
40 | 40 |
41 #ifdef MULE | 41 #ifdef MULE |
42 | 42 |
43 struct Lisp_Char_Table_Entry | 43 struct Lisp_Char_Table_Entry |
44 { | 44 { |
45 struct LCRECORD_HEADER header; | 45 NORMAL_LISP_OBJECT_HEADER header; |
46 | 46 |
47 /* In the interests of simplicity, we just use a fixed 96-entry | 47 /* In the interests of simplicity, we just use a fixed 96-entry |
48 table. If we felt like being smarter, we could make this | 48 table. If we felt like being smarter, we could make this |
49 variable-size and add an offset value into this structure. */ | 49 variable-size and add an offset value into this structure. */ |
50 Lisp_Object level2[96]; | 50 Lisp_Object level2[96]; |
51 }; | 51 }; |
52 typedef struct Lisp_Char_Table_Entry Lisp_Char_Table_Entry; | 52 typedef struct Lisp_Char_Table_Entry Lisp_Char_Table_Entry; |
53 | 53 |
54 DECLARE_LRECORD (char_table_entry, Lisp_Char_Table_Entry); | 54 DECLARE_LISP_OBJECT (char_table_entry, Lisp_Char_Table_Entry); |
55 #define XCHAR_TABLE_ENTRY(x) \ | 55 #define XCHAR_TABLE_ENTRY(x) \ |
56 XRECORD (x, char_table_entry, Lisp_Char_Table_Entry) | 56 XRECORD (x, char_table_entry, Lisp_Char_Table_Entry) |
57 #define wrap_char_table_entry(p) wrap_record (p, char_table_entry) | 57 #define wrap_char_table_entry(p) wrap_record (p, char_table_entry) |
58 #define CHAR_TABLE_ENTRYP(x) RECORDP (x, char_table_entry) | 58 #define CHAR_TABLE_ENTRYP(x) RECORDP (x, char_table_entry) |
59 /* #define CHECK_CHAR_TABLE_ENTRY(x) CHECK_RECORD (x, char_table_entry) | 59 /* #define CHECK_CHAR_TABLE_ENTRY(x) CHECK_RECORD (x, char_table_entry) |
78 #define NUM_ASCII_CHARS 256 | 78 #define NUM_ASCII_CHARS 256 |
79 #endif | 79 #endif |
80 | 80 |
81 struct Lisp_Char_Table | 81 struct Lisp_Char_Table |
82 { | 82 { |
83 struct LCRECORD_HEADER header; | 83 NORMAL_LISP_OBJECT_HEADER header; |
84 | 84 |
85 Lisp_Object ascii[NUM_ASCII_CHARS]; | 85 Lisp_Object ascii[NUM_ASCII_CHARS]; |
86 Lisp_Object default_; | 86 Lisp_Object default_; |
87 Lisp_Object parent; /* #### not yet implemented */ | 87 Lisp_Object parent; /* #### not yet implemented */ |
88 | 88 |
126 char dirty; /* nonzero if mirror dirty and needs updating. */ | 126 char dirty; /* nonzero if mirror dirty and needs updating. */ |
127 char mirror_table_p; /* nonzero if this is a mirror table. */ | 127 char mirror_table_p; /* nonzero if this is a mirror table. */ |
128 }; | 128 }; |
129 typedef struct Lisp_Char_Table Lisp_Char_Table; | 129 typedef struct Lisp_Char_Table Lisp_Char_Table; |
130 | 130 |
131 DECLARE_LRECORD (char_table, Lisp_Char_Table); | 131 DECLARE_LISP_OBJECT (char_table, Lisp_Char_Table); |
132 #define XCHAR_TABLE(x) XRECORD (x, char_table, Lisp_Char_Table) | 132 #define XCHAR_TABLE(x) XRECORD (x, char_table, Lisp_Char_Table) |
133 #define wrap_char_table(p) wrap_record (p, char_table) | 133 #define wrap_char_table(p) wrap_record (p, char_table) |
134 #define CHAR_TABLEP(x) RECORDP (x, char_table) | 134 #define CHAR_TABLEP(x) RECORDP (x, char_table) |
135 #define CHECK_CHAR_TABLE(x) CHECK_RECORD (x, char_table) | 135 #define CHECK_CHAR_TABLE(x) CHECK_RECORD (x, char_table) |
136 #define CONCHECK_CHAR_TABLE(x) CONCHECK_RECORD (x, char_table) | 136 #define CONCHECK_CHAR_TABLE(x) CONCHECK_RECORD (x, char_table) |