summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/txr/stdlib/compiler.tl3
1 files changed, 2 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl
index fe9bfce8..8f64adca 100644
--- a/share/txr/stdlib/compiler.tl
+++ b/share/txr/stdlib/compiler.tl
@@ -753,7 +753,8 @@
(set fvars (uni fvars frag.fvars))
(set ffuns (uni ffuns frag.ffuns))
(pend frag.code)))))))
- me.(free-treg oreg-discard)
+ (when (nequal oreg oreg-discard)
+ me.(free-treg oreg-discard))
(new (frag (if lastfrag lastfrag.oreg ^(t 0)) code fvars ffuns))))
(defmeth compiler comp-and-or (me oreg env form)