From 17c18c3bc61a955659c806b3c8a292c9ecb185a6 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Fri, 9 Feb 1990 15:40:39 +0000 Subject: [PATCH] Added the *COMPILE-TIME-DEFINE-MACROS* flag so that we can compile code:macros.lisp without choking. --- compiler/ir1tran.lisp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp index bfc316772..ca922fc44 100644 --- a/compiler/ir1tran.lisp +++ b/compiler/ir1tran.lisp @@ -14,6 +14,8 @@ ;;; (in-package 'c) +(export '(*compile-time-define-macros* *compiling-for-interpreter*)) + (in-package 'ext) (export '(ignorable truly-the maybe-inline)) @@ -146,6 +148,12 @@ ;;; (defvar *converting-for-interpreter* nil) +;;; *Compile-Time-Define-Macros* is true when we want DEFMACRO definitions to +;;; be installed in the compilation environment as interpreted functions. We +;;; set this to false when compiling some parts of the system. +;;; +(defvar *compile-time-define-macros* t) + ;;; IR1-Error-Bailout -- Internal ;;; @@ -2847,9 +2855,11 @@ (setf (info function kind name) :macro) (setf (info function where-from name) :defined) - (setf (info function macro-function name) - #+new-compiler (coerce def 'function) - #-new-compiler def) + + (when *compile-time-define-macros* + (setf (info function macro-function name) + #+new-compiler (coerce def 'function) + #-new-compiler def)) (let ((fun (ir1-convert-lambda def))) (setf (leaf-name fun) -- GitLab