From 2a97c855efa10947a59ffce5d971f41af0585ce4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 4 Apr 2018 23:27:13 -0700 Subject: 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. --- share/txr/stdlib/compiler.tl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 -- cgit v1.2.3