/************************************************************************/
/* garbage collecting weak hash tables */
/************************************************************************/
+#define MARK_OBJ(obj) do { \
+ Lisp_Object mo_obj = (obj); \
+ if (!marked_p (mo_obj)) \
+ { \
+ mark_object (mo_obj); \
+ did_mark = 1; \
+ } \
+} while (0)
+
/* Complete the marking for semi-weak hash tables. */
int
/* Now, scan over all the pairs. For all pairs that are
half-marked, we may need to mark the other half if we're
keeping this pair. */
-#define MARK_OBJ(obj) \
-do { if (!marked_p (obj)) mark_object (obj), did_mark = 1; } while (0)
-
switch (ht->weakness)
{
case HASH_TABLE_KEY_WEAK:
void
syms_of_elhash (void)
{
+ INIT_LRECORD_IMPLEMENTATION (hash_table);
+
DEFSUBR (Fhash_table_p);
DEFSUBR (Fmake_hash_table);
DEFSUBR (Fcopy_hash_table);