bugGNU Common Lisp - Bugs: bug #12836, Implement Recursive Compilation


bug #12836: Implement Recursive Compilation

Submitter:  None
Submitted:  Wed 27 Apr 2005 08:50:24 PM UTC
Category:  None Severity:  3 - Normal
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Wed 27 Apr 2005 08:50:24 PM UTC, original submission:  

Given these three files, loading precompile.lisp does not work successfully:

(eval-when (:compile-toplevel :load-toplevel :execute)
  (compile-file "compile.lisp"))

(eval-when (:compile-toplevel :load-toplevel :execute)
  (compile-file "broken.lisp"))

(eval-when (:compile-toplevel :load-toplevel :execute)
  (print "***** Bootstrapping ***"))

>(load "precompile.lisp")

Loading precompile.lisp
Compiling compile.lisp.
The compiler was called recursively.
Cannot compile broken.lisp.
The compiler was called recursively.
Cannot compile broken.lisp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3, (Debug quality ignored)
Finished compiling compile.lisp.
Finished loading precompile.lisp

I first checked if this was ANSI defined code on comp.lang.lisp and Barry Margolin responded that "There's nothing in the language spec that mentions any restrictions on the expressions used within an EVAL-WHEN :COMPILE-TOPLEVEL. So COMPILE and COMPILE-FILE should be usable."

Reference: <http://groups.google.co.nz/groups?selm=pan.2005.>

Adam Warner



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.


No changes have been made to this item

Back to the top

Powered by Savane 3.13-599c.
Corresponding source code