summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-19 22:06:07 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-19 22:06:07 -0700
commit5699fa66ff753922e103f956e0da2721b193897c (patch)
tree78c17b1cf7d4e9fd603aadf745be0e4f12fccf32
parentb5d497675c88202d5771649c64bece82fe8b3950 (diff)
downloadtxr-5699fa66ff753922e103f956e0da2721b193897c.tar.gz
txr-5699fa66ff753922e103f956e0da2721b193897c.tar.bz2
txr-5699fa66ff753922e103f956e0da2721b193897c.zip
compiler: dump warnings from form expansion.
* share/txr/stdlib/compiler.tl (usr:compile-toplevel): Call release-deferred-warnings to dump accumulated warnings. Otherwise when we are working in the listener, the pent-up warnings get dumped in relation to the next input line.
-rw-r--r--share/txr/stdlib/compiler.tl4
1 files changed, 3 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl
index 24d64fc1..d02e8aee 100644
--- a/share/txr/stdlib/compiler.tl
+++ b/share/txr/stdlib/compiler.tl
@@ -503,6 +503,8 @@
(let ((co (new compiler))
(as (new assembler)))
(let* ((oreg co.(alloc-treg))
- (frag co.(compile oreg (new env co co) (expand* exp))))
+ (xexp (prog1 (expand* exp) (unless *load-recursive*
+ (release-deferred-warnings))))
+ (frag co.(compile oreg (new env co co) xexp)))
as.(asm ^(,*frag.code (end ,frag.oreg)))
(vm-make-desc co.nlev co.nreg as.buf co.(get-datavec) co.(get-funvec)))))