From: David Vázquez Date: Mon, 14 Jan 2013 12:10:28 +0000 (+0000) Subject: ls-compile-toplevel bypasses toplevel progns X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=f008590b4b2dbf551c2ce9ee4c173219161e289b;p=jscl.git ls-compile-toplevel bypasses toplevel progns --- diff --git a/ecmalisp.lisp b/ecmalisp.lisp index 5efc3e1..eea0584 100644 --- a/ecmalisp.lisp +++ b/ecmalisp.lisp @@ -1499,13 +1499,17 @@ (defun ls-compile-toplevel (sexp) (cond ((and (consp sexp) (eq (car sexp) 'progn)) - (mapconcat 'ls-compile-toplevel (cdr sexp))) + (let ((subs (mapcar 'ls-compile-toplevel (cdr sexp)))) + (join-trailing + (remove-if (lambda (s) (or (null s) (equal s ""))) + subs) + (concat ";" *newline*)))) (t (setq *toplevel-compilations* nil) (let ((code (ls-compile sexp))) (prog1 - (concat (join (mapcar (lambda (x) (concat x ";" *newline*)) - *toplevel-compilations*)) + (concat (join-trailing *toplevel-compilations* + (concat ";" *newline*)) code) (setq *toplevel-compilations* nil))))))