Environment cache bugfix for define.

* define.c (define): Invalidate cache.  Fixes vector test.
* GNUmakefile (mes-check, guile-check): Use set -e.  Fixes skipping over errors.
This commit is contained in:
Jan Nieuwenhuizen 2016-10-25 08:59:20 +02:00
parent d209a18121
commit 266c66e40c
2 changed files with 4 additions and 3 deletions

View File

@ -59,13 +59,13 @@ MES-0:=guile/mes-0.scm
MES:=./mes
mes-check: all
for i in $(TESTS); do ./$$i; done
set -e; for i in $(TESTS); do ./$$i; done
guile-check:
for i in $(TESTS); do\
set -e; for i in $(TESTS); do\
guile -s <(cat $(MES-0) $$(scripts/include.mes $$i | grep -Ev 'let.mes|quasiquote.mes|base-0|loop-0|srfi-0') $$i);\
done
for i in $(TESTS); do\
set -e; for i in $(TESTS); do\
guile -s <(cat $(MES-0) module/mes/test.mes $$i);\
done

View File

@ -29,6 +29,7 @@ define (scm *x, scm *a)
else {
name = car (name);
scm *p = pairlis (cadr (x), cadr (x), a);
cache_invalidate_range (p, a);
e = builtin_eval (make_lambda (cdadr (x), cddr (x)), p);
}
if (eq_p (car (x), &symbol_define_macro) == &scm_t)