~ chicken-core (chicken-5) d4393438bc97150fcc5a0d2b8c8f983a3e8c122a
commit d4393438bc97150fcc5a0d2b8c8f983a3e8c122a
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Oct 7 08:17:54 2011 +0200
Commit: Christian Kellermann <ck@emlix.com>
CommitDate: Fri Oct 7 13:20:11 2011 +0200
fix test for variable being always bound before optimizing the binding away
Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
diff --git a/compiler.scm b/compiler.scm
index fef3bb7d..3b2a03bb 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -2126,7 +2126,7 @@
(if (eq? '##core#variable (node-class value))
(let ((varname (first (node-parameters value))))
(or (not (get db varname 'global))
- (not (variable-mark varname '##core#always-bound))))
+ (variable-mark varname '##core#always-bound)))
(not (expression-has-side-effects? value db)) ))
undefined) )
(quick-put! plist 'removable #t) )
Trap