macro expander: fix an internal hash-table traversal bug

This bug could result in weird "cannot re-define a constant: lifted.0.2"
errors, or probably even worse collsisions of definitions, but I think
only in a namespace created from `module->namespace`.

So far, I haven't been able to create a reasonably small test,
because so many things have to line up in just the right way.

Merge to v6.1.1
This commit is contained in:
Matthew Flatt 2014-10-10 17:47:31 -06:00
parent 3692abf61e
commit d4ad0a20e4

View File

@ -1259,8 +1259,8 @@ int scheme_tl_id_is_sym_used(Scheme_Hash_Table *marked_names, Scheme_Object *sym
scheme_hash_set(rev_ht, SCHEME_CDR(a), scheme_true);
}
}
scheme_hash_set(marked_names, scheme_false, (Scheme_Object *)rev_ht);
}
scheme_hash_set(marked_names, scheme_false, (Scheme_Object *)rev_ht);
}
if (scheme_hash_get(rev_ht, sym))