;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 126.119 ;;; Reason: ;;; Turn on switch that enables integration of system constant values ;;; into compiled code. ;;; Written 20-Oct-88 17:34:30 by smh at site Gigamos Cambridge ;;; while running on Alex from band 3 ;;; with Experimental System 126.118, Experimental ZWEI 126.22, Experimental ZMail 74.10, Experimental Local-File 76.0, Experimental File-Server 25.0, Experimental Lambda-Diag 18.0, Experimental Unix-Interface 15.0, Experimental Tape 26.4, Microcode 1762, SDU Boot Tape 3.14, SDU ROM 102, Lambda/Falcon Development System. ; From modified file DJ: L.SYS; QCP1.LISP#742 at 20-Oct-88 17:37:51 #8R COMPILER#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "COMPILER"))) (PATCH-SOURCE-FILE "SYS: SYS; QCP1  " (defparameter *integrate-constants?* t ;changed to T - smh&keith 20oct88 "If T, constants get substituted into compiled code.") )) ; From modified file DJ: L.SYS; QCP1.LISP#742 at 20-Oct-88 17:37:53 #8R COMPILER#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "COMPILER"))) (PATCH-SOURCE-FILE "SYS: SYS; QCP1  " (defun integrable-constant? (var) (and (or *integrate-constants?* (and local-declarations (let ((decl (assq 'si:integrate-constants local-declarations))) (or (null (rest decl)) (memq var (rest decl)))))) ;;; ||| changed get to getdecl for cross compilation - smh&keith 20oct88 (getdecl var 'si:system-constant) (boundp var) (let ((value (eval var))) (or (symbolp value) (numberp value) ;;; ||| also eqlable - smh&keith 20oct88 (characterp value))) )) ))