;;; -*- 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))))))

))
