fix bytecode-marshaling problem related to rename transformers

This commit is contained in:
Matthew Flatt 2015-07-23 08:04:13 -06:00
parent 120f1329c6
commit f4d05aaba8

View File

@ -5247,7 +5247,7 @@ static Scheme_Object *any_unreachable_scope(Scheme_Scope_Set *scopes, Scheme_Mar
return NULL;
}
static void possiblly_reachable_free_id(Scheme_Object *val,
static void possiblly_reachable_free_id(Scheme_Object *val, /* mpair or stx */
Scheme_Scope_Set *scopes,
Scheme_Marshal_Tables *mt)
{
@ -5255,6 +5255,13 @@ static void possiblly_reachable_free_id(Scheme_Object *val,
Scheme_Object *unreachable_scope, *l;
Scheme_Hash_Table *ht;
if (SCHEME_MPAIRP(val))
free_id = (Scheme_Stx *)SCHEME_CAR(SCHEME_CDR(val));
else
free_id = (Scheme_Stx *)val;
STX_ASSERT(SCHEME_STXP((Scheme_Object *)free_id));
unreachable_scope = any_unreachable_scope(scopes, mt);
if (!unreachable_scope) {