fix bug in macro expander
This commit is contained in:
parent
f6f6facd9e
commit
f4f2b7c533
|
@ -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)) {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user