From ab50f9a3eb66af9c387910b54ec87175c53bc467 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 17 Aug 1993 22:42:15 +0000
Subject: [PATCH] Recognize the new :keyword EVAL-WHEN keywords.

---
 compiler/ir1tran.lisp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp
index 67036366c..e10b903e5 100644
--- a/compiler/ir1tran.lisp
+++ b/compiler/ir1tran.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.93 1993/08/06 13:11:02 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.94 1993/08/17 22:42:15 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -2183,15 +2183,17 @@
 ;;;
 (defun do-eval-when-stuff (situations body fun)
   (when (or (not (listp situations))
-	    (set-difference situations '(compile load eval)))
+	    (set-difference situations
+			    '(compile load eval
+			      :compile-top-level :load-top-level :execute)))
     (compiler-error "Bad Eval-When situation list: ~S." situations))
 
-  (let* ((do-eval (and (member 'compile situations)
+  (let* ((do-eval (and (intersection '(compile :compile-top-level) situations)
 		       (not lisp::*already-evaled-this*)))
 	 (lisp::*already-evaled-this* t))
     (when do-eval
       (eval `(progn ,@body)))
-    (if (member 'load situations)
+    (if (intersection '(:load-top-level load :execute eval) situations)
 	(funcall fun body)
 	(funcall fun '(nil)))))
 
-- 
GitLab