From: David Vazquez Date: Tue, 18 Dec 2012 02:24:21 +0000 (+0000) Subject: Fix problem with recursive macros X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=3c8fb84375b8228964541fddeb31c309b596c10e;p=jscl.git Fix problem with recursive macros --- diff --git a/lispstrack.lisp b/lispstrack.lisp index f034041..59fb5e4 100644 --- a/lispstrack.lisp +++ b/lispstrack.lisp @@ -527,10 +527,12 @@ ((stringp sexp) (concat "\"" sexp "\"")) ((listp sexp) (let ((sexp (ls-macroexpand-1 sexp env fenv))) - (let ((compiler-func (second (assoc (car sexp) *compilations*)))) - (if compiler-func - (apply compiler-func env fenv (cdr sexp)) - (compile-funcall (car sexp) (cdr sexp) env fenv))))))) + (if (listp sexp) + (let ((compiler-func (second (assoc (car sexp) *compilations*)))) + (if compiler-func + (apply compiler-func env fenv (cdr sexp)) + (compile-funcall (car sexp) (cdr sexp) env fenv))) + (ls-compile sexp env fenv)))))) (defun ls-compile-toplevel (sexp) (setq *toplevel-compilations* nil)