X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=lispstrack.lisp;h=b4adc1b2cc442fa7e4ee8c3ce9674b9c202d2aeb;hb=3eb043e814a43ce8fcb12e4121225ad484f00671;hp=94f5a3717eeb1430290a3f4d4e235db921de339e;hpb=d7e11a79df63bd65bc7f31d2747a6c8e59968b6c;p=jscl.git diff --git a/lispstrack.lisp b/lispstrack.lisp index 94f5a37..b4adc1b 100644 --- a/lispstrack.lisp +++ b/lispstrack.lisp @@ -500,7 +500,7 @@ (compile-bool (concat "(" (ls-compile x env fenv) "===" (ls-compile nil env fenv) ")"))) (define-compilation cons (x y) - (concat "{car: " (ls-compile x env fenv) ", cdr: " (ls-compile y env fenv) "}")) + (concat "({car: " (ls-compile x env fenv) ", cdr: " (ls-compile y env fenv) "})")) (define-compilation consp (x) (compile-bool @@ -636,11 +636,12 @@ (and (symbolp x) (eq (binding-type (lookup-function x *fenv*)) 'macro))) (defun ls-macroexpand-1 (form env fenv) - (when (macrop (car form)) - (let ((binding (lookup-function (car form) *env*))) - (if (eq (binding-type binding) 'macro) - (apply (eval (binding-translation binding)) (cdr form)) - form)))) + (if (macrop (car form)) + (let ((binding (lookup-function (car form) *env*))) + (if (eq (binding-type binding) 'macro) + (apply (eval (binding-translation binding)) (cdr form)) + form)) + form)) (defun compile-funcall (function args env fenv) (cond