fix unmarshaling of module-namespace information
Avoids errors that sometimes appear as "cannot redefine lifted.0". Merge to 6.11.
This commit is contained in:
parent
9e16d3f9c9
commit
78fdee6b6b
|
@ -1476,6 +1476,8 @@ static Scheme_Object *vector_to_ht(Scheme_Object *vec, int kind)
|
|||
key = SCHEME_VEC_ELS(vec)[i];
|
||||
val = SCHEME_VEC_ELS(vec)[i+1];
|
||||
|
||||
val = scheme_stx_force_delayed(val);
|
||||
|
||||
/* defend against bad bytecode here, too: */
|
||||
if (kind) {
|
||||
if (!SCHEME_INTP(key)
|
||||
|
|
|
@ -8215,7 +8215,7 @@ static void propagate_imports(Module_Begin_Expand_State *bxs,
|
|||
binding = scheme_stx_lookup_stop_at_free_eq(name, phase, NULL);
|
||||
if (!SCHEME_VECTORP(binding)
|
||||
|| !SAME_OBJ(phase, SCHEME_VEC_ELS(binding)[2]))
|
||||
scheme_signal_error("internal error: broken binding of defined id from encloding module: %V at %V = %V",
|
||||
scheme_signal_error("internal error: broken binding of defined id from enclosing module: %V at %V = %V",
|
||||
name, phase, binding);
|
||||
v = SCHEME_VEC_ELS(binding)[1];
|
||||
SCHEME_VEC_ELS(vec)[2] = v;
|
||||
|
|
Loading…
Reference in New Issue
Block a user