mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 21:59:17 +02:00
Always push a new env cell on define unless the previous cell was undefined.
This commit is contained in:
parent
da845032e5
commit
7c333f43da
1 changed files with 2 additions and 3 deletions
5
eval.c
5
eval.c
|
@ -141,9 +141,8 @@ sexp sexp_env_cell_define (sexp ctx, sexp env, sexp key,
|
|||
}
|
||||
#endif
|
||||
for (ls=sexp_env_bindings(env); sexp_pairp(ls); ls=sexp_env_next_cell(ls))
|
||||
if (sexp_car(ls) == key) {
|
||||
if (sexp_cdr(ls) == SEXP_UNDEF)
|
||||
sexp_cdr(ls) = value;
|
||||
if (sexp_car(ls) == key && sexp_cdr(ls) == SEXP_UNDEF) {
|
||||
sexp_cdr(ls) = value;
|
||||
return ls;
|
||||
}
|
||||
sexp_gc_preserve2(ctx, cell, ls);
|
||||
|
|
Loading…
Add table
Reference in a new issue