X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Felhash.c;h=688018c81c668c3accf863a2659ca6ebc6d3c380;hb=975655e6b5b1526ee82b159b3eadf69888c42090;hp=52ba8484834f6637d6b4979c207ad64c04a6b45b;hpb=3890a2e3064a7f562107c58e59d928284ec04741;p=chise%2Fxemacs-chise.git- diff --git a/src/elhash.c b/src/elhash.c index 52ba848..688018c 100644 --- a/src/elhash.c +++ b/src/elhash.c @@ -1218,6 +1218,15 @@ elisp_map_remhash (maphash_function_t predicate, /************************************************************************/ /* 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 @@ -1241,9 +1250,6 @@ finish_marking_weak_hash_tables (void) /* 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: