comparison src/elhash.h @ 4072:aa28d959af41

[xemacs-hg @ 2007-07-22 22:03:29 by aidan] Add support for non-ISO2022 8 bit fixed-width coding-systems
author aidan
date Sun, 22 Jul 2007 22:04:14 +0000
parents 141c2920ea48
children e0db3c197671
comparison
equal deleted inserted replaced
4071:d607d13fca67 4072:aa28d959af41
31 #define wrap_hash_table(p) wrap_record (p, hash_table) 31 #define wrap_hash_table(p) wrap_record (p, hash_table)
32 #define HASH_TABLEP(x) RECORDP (x, hash_table) 32 #define HASH_TABLEP(x) RECORDP (x, hash_table)
33 #define CHECK_HASH_TABLE(x) CHECK_RECORD (x, hash_table) 33 #define CHECK_HASH_TABLE(x) CHECK_RECORD (x, hash_table)
34 #define CONCHECK_HASH_TABLE(x) CONCHECK_RECORD (x, hash_table) 34 #define CONCHECK_HASH_TABLE(x) CONCHECK_RECORD (x, hash_table)
35 35
36 typedef struct htentry
37 {
36 #ifdef NEW_GC 38 #ifdef NEW_GC
39 struct lrecord_header lheader;
40 #endif /* NEW_GC */
41 Lisp_Object key;
42 Lisp_Object value;
43 } htentry;
44
45 #define HTENTRY_CLEAR_P(htentry) ((*(EMACS_UINT*)(&((htentry)->key))) == 0)
46
47 #ifdef NEW_GC
48
37 typedef struct htentry Lisp_Hash_Table_Entry; 49 typedef struct htentry Lisp_Hash_Table_Entry;
38 50
39 DECLARE_LRECORD (hash_table_entry, Lisp_Hash_Table_Entry); 51 DECLARE_LRECORD (hash_table_entry, Lisp_Hash_Table_Entry);
40 52
41 #define XHASH_TABLE_ENTRY(x) \ 53 #define XHASH_TABLE_ENTRY(x) \
110 122
111 void pdump_reorganize_hash_table (Lisp_Object); 123 void pdump_reorganize_hash_table (Lisp_Object);
112 124
113 void inchash_eq (Lisp_Object key, Lisp_Object table, EMACS_INT offset); 125 void inchash_eq (Lisp_Object key, Lisp_Object table, EMACS_INT offset);
114 126
127 htentry *find_htentry (Lisp_Object key, const Lisp_Hash_Table *ht);
128
115 #endif /* INCLUDED_elhash_h_ */ 129 #endif /* INCLUDED_elhash_h_ */