From 445ae87384a56fc70c19a6e7a553b3976484ec02 Mon Sep 17 00:00:00 2001
From: pmai <pmai>
Date: Tue, 11 Dec 2001 00:27:31 +0000
Subject: [PATCH] We can't have complex forms in worldload, since we might be
 building a core without the compiler (e.g. runtime cores).  Neither let nor
 dolist are allowed.  The nreverse is there to keep the order of the remaining
 features unchanged, since set-difference reverses the list in the process.

---
 tools/worldload.lisp | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/tools/worldload.lisp b/tools/worldload.lisp
index 6b91c4f80..66bc07c93 100644
--- a/tools/worldload.lisp
+++ b/tools/worldload.lisp
@@ -6,7 +6,7 @@
 ;;; If you want to use this code or any part of CMU Common Lisp, please contact
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.93 2001/07/10 22:50:46 pw Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.94 2001/12/11 00:27:31 pmai Exp $
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -221,14 +221,15 @@
   (setq ext:*ansi-defstruct-options-p* t)
   ;;
   ;; Save the lisp.  If RUNTIME, there is nothing new to purify, so don't.
-  (let ((root-structures
-         #-(or runtime no-hemlock) `(ed ,hi::*global-command-table*)
-         #+(or runtime no-hemlock) ())
-        (purify (not (featurep :runtime))))
-    ;; the following features are only used to control the build
-    ;; process, so we remove them from the generated image
-    (dolist (f '(:runtime :no-compiler :no-pcl :no-clx :no-clm :no-hemlock))
-      (setf *features* (remove f *features*)))
-    (save-lisp "lisp.core"
-               :root-structures root-structures
-               :purify purify)))
+  ;; the following features are only used to control the build
+  ;; process, so we remove them from the generated image
+  (setq *features*
+	(nreverse
+	 (set-difference
+	  *features* 
+	  '(:runtime :no-compiler :no-pcl :no-clx :no-clm :no-hemlock))))
+  (save-lisp "lisp.core"
+             :root-structures
+             #-(or runtime no-hemlock) `(ed ,hi::*global-command-table*)
+             #+(or runtime no-hemlock) ()
+             :purify #+runtime nil #-runtime t))
-- 
GitLab