summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-20 06:54:53 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-20 06:54:53 -0700
commit910bfe70001096784fdd008db12e8f27503f590d (patch)
treea4de06a43c81874dcffd685541bbec7937138943
parent46041496359dc5738c467815d4868549d3550e40 (diff)
downloadtxr-910bfe70001096784fdd008db12e8f27503f590d.tar.gz
txr-910bfe70001096784fdd008db12e8f27503f590d.tar.bz2
txr-910bfe70001096784fdd008db12e8f27503f590d.zip
compiler: let bugfix: wrong output register designated.
* share/txr/stdlib/compiler.tl (compiler comp-let): The returned fragment must specify boreg not oreg, because the output is either in oreg or bfrag.oreg.
-rw-r--r--share/txr/stdlib/compiler.tl2
1 files changed, 1 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl
index 33f02a2c..13d453d3 100644
--- a/share/txr/stdlib/compiler.tl
+++ b/share/txr/stdlib/compiler.tl
@@ -344,7 +344,7 @@
fvars (uni fvars frag.fvars)))))))))
(bfrag me.(comp-progn oreg nenv body))
(boreg (if env.(out-of-scope bfrag.oreg) oreg bfrag.oreg)))
- (new (frag oreg
+ (new (frag boreg
(append code bfrag.code
(maybe-mov boreg bfrag.oreg)
^((end ,boreg)))