fix bug in macro expander

This commit is contained in:
Matthew Flatt 2010-12-10 13:39:42 -07:00
parent f6f6facd9e
commit f4f2b7c533
2 changed files with 6 additions and 2 deletions

View File

@ -2949,6 +2949,8 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
src_find_id = find_id;
modidx = scheme_stx_module_name(NULL, &find_id, scheme_make_integer(phase), NULL, NULL, &mod_defn_phase,
NULL, NULL, NULL, NULL, &rename_insp);
/* If modidx and modidx is not #<undefined>, then find_id is now a
symbol, otherwise it's still an identifier. */
/* Used out of context? */
if (SAME_OBJ(modidx, scheme_undefined)) {

View File

@ -3800,7 +3800,8 @@ Scheme_Object *scheme_module_syntax(Scheme_Object *modname, Scheme_Env *env, Sch
if (SAME_OBJ(modname, kernel_modname)) {
Scheme_Env *kenv;
kenv = scheme_get_kernel_env();
name = SCHEME_STX_SYM(name);
if (SCHEME_STXP(name))
name = SCHEME_STX_SYM(name);
return scheme_lookup_in_table(kenv->syntax, (char *)name);
} else if (SAME_OBJ(modname, unsafe_modname)
|| SAME_OBJ(modname, flfxnum_modname)
@ -3816,7 +3817,8 @@ Scheme_Object *scheme_module_syntax(Scheme_Object *modname, Scheme_Env *env, Sch
if (!menv)
return NULL;
name = scheme_tl_id_sym(menv, name, NULL, 0, NULL, NULL);
if (SCHEME_STXP(name))
name = scheme_tl_id_sym(menv, name, NULL, 0, NULL, NULL);
val = scheme_lookup_in_table(menv->syntax, (char *)name);