Skip to content
Snippets Groups Projects
Commit 86e2d24d authored by ram's avatar ram
Browse files

Added binding of C:*COMPILE-TIME-DEFINE-MACROS* to NIL around compilation of

system macros (at end of compilation.)  This prevents infinite recursions due
to trying to interpret circularly defined macros.
parent 17c18c3b
No related branches found
No related tags found
No related merge requests found
......@@ -108,12 +108,20 @@
(load "nicode:netnamemsgdefs.lisp")
(comf "nicode:netnameuser")))
(comf "ncode:defstruct")
(comf "ncode:defmacro")
(comf "ncode:macros")
(comf "ncode:defrecord")
(comf "ncode:constants")
(comf "c:globaldb")
;;; Compile basic macros that we assume are already in the compilation
;;; environment. We inhibit compile-time definition to prevent these functions
;;; from becoming interpreted. In some cases, this is necessary for
;;; compilation to work at all, since the expander functions are lazily
;;; converted: we could go into an infinite recursion trying to convert the
;;; definition of a macro which uses itself.
;;;
(let ((c:compile-time-define-macros* nil))
(comf "ncode:defstruct")
(comf "ncode:defmacro")
(comf "ncode:macros")
(comf "ncode:defrecord")
(comf "ncode:constants")
(comf "c:globaldb"))
); with-compiler-log-file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment