;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 124.105 ;;; Reason: ;;; "(PROCLAIM ...)" forms now get placed into .QFASL files ;;; ;;; MORE GLOBALLY: Top-level PROCLAIM forms now get passed to any compiler ;;; processing function. So we had to teach ZWEI to deal with PROCLAIM as ;;; it does with SPECIAL, DECLARE, and RANDOM -- by simply EVAL'ing the ;;; top-level form. -Keith and PLD ;;; Written 24-Jun-88 18:43:28 by keith (Keith Corbett) at site Gigamos Cambridge ;;; while running on Breaking Glass from band 1 ;;; with Experimental System 124.104, Experimental Local-File 74.3, Experimental File-Server 23.1, Experimental Unix-Interface 12.0, Experimental ZMail 72.1, Experimental Tape 23.6, Experimental Lambda-Diag 16.2, Tiger 28.0, microcode 1761, SDU Boot Tape 3.14, SDU ROM 103, Beta 3 for in-house. ; From modified file DJ: L.SYS; QCFILE.LISP#362 at 24-Jun-88 18:46:37 #8R COMPILER#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "COMPILER"))) (PATCH-SOURCE-FILE "SYS: SYS; QCFILE  " (DEFUN COMPILE-PROCLAIM (DECL-LIST PROCESS-FN) (apply #'proclaim (mapcar #'eval decl-list)) (funcall process-fn (cons 'proclaim decl-list) 'proclaim) decl-list) )) ; From modified file DJ: L.ZWEI; COMC.LISP#225 at 24-Jun-88 18:51:20 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; COMC  " (DEFUN COMPILE-BUFFER-FORM (FORM TYPE) (DECLARE (SPECIAL COMPILE-PROCESSING-MODE)) (IF (MEMQ TYPE '(DECLARE RANDOM SPECIAL proclaim)) (EVAL FORM) (let-if (get-from-alternating-list compile-processing-mode :CAREFUL-MODE) ((compiler:peep-enable nil) (compiler:*inhibit-optimizers* t)) (COMPILER:COMPILE-1 (CADR FORM) (APPEND (CASE (CAR FORM) (DEFSUBST '(NAMED-SUBST)) (MACRO '(MACRO NAMED-LAMBDA)) (DEFUN '(NAMED-LAMBDA))) (CDR (SI:PROCESS-DEFUN-BODY (CADR FORM) (CDDR FORM)))) (IF (MEMQ (CAR FORM) '(MACRO DEFSUBST)) 'COMPILER:MACRO-COMPILE (GET-FROM-ALTERNATING-LIST COMPILE-PROCESSING-MODE :MODE)))))) ))