diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2025-06-19 21:40:48 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2025-06-19 21:40:48 -0700 |
commit | 2e88bbd9618079a4bb2cd539a2c9856a1ef13b39 (patch) | |
tree | 2bbceeff6b165424ead1b1f4092c10f6c085cc11 /stdlib/compiler.tl | |
parent | 53f92425856734cb680525f3d4ede2a7b3e3dde3 (diff) | |
download | txr-2e88bbd9618079a4bb2cd539a2c9856a1ef13b39.tar.gz txr-2e88bbd9618079a4bb2cd539a2c9856a1ef13b39.tar.bz2 txr-2e88bbd9618079a4bb2cd539a2c9856a1ef13b39.zip |
compiler: disable tail position in top level.
* stdlib/compiler.tl (compile-in-toplevel): We need to disable
the tail position for compilations that take place in a
top-level environment, like load-time forms.
Diffstat (limited to 'stdlib/compiler.tl')
-rw-r--r-- | stdlib/compiler.tl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl index 6a49551a..0ad03aea 100644 --- a/stdlib/compiler.tl +++ b/stdlib/compiler.tl @@ -252,7 +252,8 @@ (defmacro compile-in-toplevel (me . body) (with-gensyms (saved-tregs saved-treg-cntr) ^(let* ((,saved-tregs (qref ,me tregs)) - (,saved-treg-cntr (qref ,me treg-cntr))) + (,saved-treg-cntr (qref ,me treg-cntr)) + (*tail-pos* nil)) (unwind-protect (progn (set (qref ,me tregs) nil |