Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Diff of /src/code/cold-init.lisp [77d8ab] .. [4d5026] Maximize Restore

  Switch to side-by-side view

--- a/src/code/cold-init.lisp
+++ b/src/code/cold-init.lisp
@@ -22,8 +22,8 @@
 ;;; anything whose name matches a magic character pattern is
 ;;; uninterned.
-;;; FIXME: should also go through globaldb (and perhaps other tables)
-;;; blowing away associated entries
+;;; FIXME: Are there other tables that need to have entries removed?
+;;; What about symbols of the form DEF!FOO?
 (defun !unintern-init-only-stuff ()
   (do ((any-changes? nil nil))
@@ -35,6 +35,13 @@
 			 (string= name "*!" :end1 2 :end2 2)))
 	    (/show0 "uninterning cold-init-only symbol..")
 	    (/primitive-print name)
+	    ;; FIXME: Is this (FIRST (LAST *INFO-ENVIRONMENT*)) really
+	    ;; meant to be an idiom to use?  Is there a more obvious
+	    ;; name for this? [e.g. (GLOBAL-ENVIRONMENT)?]
+	    (do-info ((first (last *info-environment*))
+			    :name entry :class class :type type)
+	      (when (eq entry symbol)
+		(clear-info class type entry)))
 	    (unintern symbol package)
 	    (setf any-changes? t)))))
     (unless any-changes?