;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 126.52 ;;; Reason: ;;; On the Falcon WITH-STACK-LIST(*) now compile into a simple LET and ;;; make no attempt to stack cons. ;;; Written 16-Aug-88 12:32:48 by smh at site Gigamos Cambridge ;;; while running on Harpo from band 3 ;;; with Experimental System 126.51, ZWEI 125.16, 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; QCP1.LISP#727 at 16-Aug-88 12:32:58 #8R COMPILER#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "COMPILER"))) (PATCH-SOURCE-FILE "SYS: SYS; QCP1  " (DEFUN P1-WITH-STACK-LIST (FORM) (ecase *target-computer* ;; Arguments have been made that WITRH-STACK-LIST is no longer winning ;; and should not be used even on the lambda. Who knows?? We will not ;; implement it fresh on the K, in any case. (lambda-interface ;; What a winnning compiler! No fewer than 4 special forms needed to compile ;; with-stack-list(*) (P1 `(BLOCK-FOR-WITH-STACK-LIST P1-WITH-STACK-LIST (CHANGE-PDLLVL ,(LENGTH (CDADR FORM)) (%PUSH (,(CASE (CAR FORM) (WITH-STACK-LIST '%MAKE-EXPLICIT-STACK-LIST) (WITH-STACK-LIST* '%MAKE-EXPLICIT-STACK-LIST*)) ,@(CDADR FORM)))) (LET ((,(CAADR FORM) (%POP-FOR-WITH-STACK-LIST))) ,@(CDDR FORM))))) (k (p1 `(let ((,(caadr form) (,(case (car form) (with-stack-list 'list) (with-stack-list* 'list*)) ,@(cdadr form)))) ,@(cddr form)))))) ))