;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 126.25 ;;; Reason: ;;; The COMPILATION-DEFINE mechanism now knows about COMPILATION-ENVIRONMENTs ;;; ... sort-of. ;;; Written 9-Aug-88 20:26:22 by smh (Steve Haflich) at site Gigamos Cambridge ;;; while running on Harpo from band 3 ;;; with Experimental System 126.23, ZWEI 125.14, ZMail 73.2, Local-File 75.2, File-Server 24.1, Unix-Interface 13.0, Tape 24.2, Lambda-Diag 17.0, microcode 1762, SDU Boot Tape 3.12, SDU ROM 102, kold 4aug88. ; From modified file DJ: L.SYS; QCDEFS.LISP#244 at 9-Aug-88 20:26:32 #8R COMPILER#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "COMPILER"))) (PATCH-SOURCE-FILE "SYS: SYS; QCDEFS  " (DEFUN COMPILATION-DEFINE (FUNCTION-SPEC) "Record that a definition of FUNCTION-SPEC has been compiled." (let ((value (OR FDEFINE-FILE-PATHNAME T))) (if (and (boundp '*compilation-environment*) *compilation-environment*) (do ((env *compilation-environment* (compilation-environment-next env))) ((null (compilation-environment-next env)) (setf (getf (gethash function-spec (compilation-environment-plist-hashtab env)) ':compilation-defined) value))) (OR (CONSP FUNCTION-SPEC) (SI:FUNCTION-SPEC-PUTPROP FUNCTION-SPEC value ':COMPILATION-DEFINED))))) (DEFUN COMPILATION-DEFINEDP (FUNCTION-SPEC) "T if the function spec is defined or a definition of it has been compiled. Always returns T if function spec is not a symbol." (if (boundp '*compilation-environment*) (do ((env *compilation-environment* (compilation-environment-next env)) tem) ((null env)) (when (and (setq tem (gethash function-spec (compilation-environment-plist-hashtab env))) (setq tem (getf tem ':compilation-defined))) (return-from compilation-definedp tem))) (OR (CONSP FUNCTION-SPEC) (AND FUNCTION-SPEC (OR (FDEFINEDP FUNCTION-SPEC) (NOT (MEMQ (SI:FUNCTION-SPEC-GET FUNCTION-SPEC ':COMPILATION-DEFINED) '(NIL :UNDEFINED)))))))) ))