;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for Lambda-Diag version 15.1 ;;; Reason: ;;; When you boot up with a different microcode version and load LAM symbols, you ;;; end up with multiple LAM symbol tables. Usually, you only want the current ;;; one. On a :system-release full GC, offer to remove the extras. ;;; Written 19-May-88 22:00:31 by pld (Peter L. DeWolf) at site Gigamos Cambridge ;;; while running on Fish food from band 1 ;;; with Experimental System 123.284, Experimental Local-File 73.6, Experimental FILE-Server 22.6, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.2, Experimental Lambda-Diag 15.0, Experimental Tape 22.4, microcode 1756, SDU Boot Tape 3.14, SDU ROM 103, patch/experimental. ; From file DJ: L.LAMBDA-DIAG; LAMLD.LISP#10 at 19-May-88 22:00:49 #8R LAMBDA#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "LAMBDA"))) (COMPILER::PATCH-SOURCE-FILE "SYS: LAMBDA-DIAG; LAMLD  " (defun maybe-remove-extra-lam-symbol-tables () (when lam-file-symbols-loaded-from (let ((extras (cl:remove lam-file-symbols-loaded-from lam-symbol-tables-loaded :key #'car))) (when extras (when (format:y-or-n-p-with-timeout 1800. t "Current LAM symbols are for version ~D, but extra versions also loaded: ~{~D~^, ~}~%~ Remove extras? " (send lam-file-symbols-loaded-from :version) (mapcar #'(lambda (elt) (send (car elt) :version)) extras)) (setq lam-symbol-tables-loaded (cl:remove-if #'(lambda (elt) (member elt extras)) lam-symbol-tables-loaded))))))) (add-initialization "Maybe Remove Extra LAM Symbols" '(maybe-remove-extra-lam-symbol-tables) '(:gc-system-release)) ))