diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-04 23:27:13 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-04 23:27:13 -0700 |
commit | 3d630a8d5d9760f0328e4661c97bafdfb674f19a (patch) | |
tree | b1dc829c2a86d535e6672a6a785e6e0e672c7da9 | |
parent | 73b634fdeac2423320f600b3fa7274a647ce33a8 (diff) | |
download | txr-3d630a8d5d9760f0328e4661c97bafdfb674f19a.tar.gz txr-3d630a8d5d9760f0328e4661c97bafdfb674f19a.tar.bz2 txr-3d630a8d5d9760f0328e4661c97bafdfb674f19a.zip |
compiler: bugfix: broken Lisp forms in quasiquote.
* share/txr/stdlib/compiler.tl (expand-quasi-args): When the
element of the quasiquote is a compound form, we can't just
return it. Firstly, because we are appending, we must wrap
each returned item in a list. Secondly, we must wrap the form
in code which formats it into a string consistently.
-rw-r--r-- | share/txr/stdlib/compiler.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl index b0942a15..1926885e 100644 --- a/share/txr/stdlib/compiler.tl +++ b/share/txr/stdlib/compiler.tl @@ -1089,7 +1089,7 @@ (sys:var (mac-param-bind form (sym exp : mods) el (list (expand-quasi-mods exp mods)))) (sys:quasi (expand-quasi-mods el)) - (t el))) + (t (list ^(sys:fmt-simple ,el nil nil nil nil))))) ((bindable el) (list ^(sys:fmt-simple ,el nil nil nil nil))) (t |