don't retroactively resolve unbound renamed references with a renamed definition

This commit is contained in:
Alex Shinn 2017-04-03 23:13:14 +09:00
parent c3713540d0
commit 1bd9fe437a

1
eval.c
View file

@ -152,6 +152,7 @@ sexp sexp_env_cell_define (sexp ctx, sexp env, sexp key,
return ls;
} else if (sexp_cdr(ls) == SEXP_UNDEF &&
sexp_synclop(sexp_car(ls)) &&
!sexp_synclop(key) &&
sexp_identifier_eq(ctx, env, key, sexp_synclo_env(sexp_car(ls)), sexp_synclo_expr(sexp_car(ls)))) {
/* handle an undefined renamed reference that would have */
/* resolved to this binding, renamed to what we define here */