;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 126.39
;;; Reason:
;;;  Add *SYSTEM-LOAD-BINARY-FILE-TYPE* to the frobs bound here.
;;; Written 11-Aug-88 13:06:25 by rg at site Gigamos Cambridge
;;; while running on Claude Debussy from band 2
;;; with Experimental System 126.38, ZWEI 125.15, 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.14, SDU ROM 102, Kenvironment Loaded 8/2/88.



; From file DJ: L.SYS2; MAKSYS.LISP#213 at 11-Aug-88 13:06:25
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: SYS2; MAKSYS  "

(DEFUN SYSTEM-SOURCE-FILES-1 (SYSTEM TYPES INTERMEDIATE-TOO INCLUDE-SUBSYSTEMS
			      &AUX *SYSTEM-DEFAULT-BINARY-FILE-TYPE*
			      *SYSTEM-LOAD-BINARY-FILE-TYPE*)
  (SETQ SYSTEM (FIND-SYSTEM-NAMED SYSTEM))
  (SETQ *SYSTEM-DEFAULT-BINARY-FILE-TYPE* (system-default-binary-file-type system))
  (SETQ *SYSTEM-LOAD-BINARY-FILE-TYPE* (system-default-binary-file-type system))
  (NCONC (LET ((SYMBOL (SYSTEM-SYMBOLIC-NAME SYSTEM)))
	   (AND SYMBOL
		(LET ((FILE (GET-SOURCE-FILE-NAME SYMBOL 'DEFSYSTEM)))
		  (AND FILE
		       (LET ((DEFINING-SYSTEM (SEND FILE :GET 'MAYBE-RELOAD-SYSTEM)))
			 (AND DEFINING-SYSTEM
			      (SYSTEM-SOURCE-FILES-1 DEFINING-SYSTEM TYPES INTERMEDIATE-TOO
						     INCLUDE-SUBSYSTEMS)))
		       ))))
	 ;; First get inputs that come from files in modules
	 ;; We get them from transformations, but the order we consider
	 ;; the transformations is the order the modules were specified.
	 (LET ((*FORCE-PACKAGE* (SYSTEM-PACKAGE-DEFAULT SYSTEM)))
	   (LOOP FOR MODULE IN (REVERSE (SYSTEM-MODULES SYSTEM))
		 NCONC (LOOP FOR TRANSFORMATION IN (SYSTEM-TRANSFORMATIONS SYSTEM)
			     WHEN (EQ (TRANSFORMATION-INPUT TRANSFORMATION) MODULE)
			     NCONC (TRANSFORMATION-SOURCE-FILES TRANSFORMATION TYPES NIL))))
	 ;; Now get intermediate source files if wanted.
	 ;; Those are files that are "sources" for some transformations
	 ;; but are produced by others rather than specified in modules.
	 (AND INTERMEDIATE-TOO
	      (LET ((*FORCE-PACKAGE* (SYSTEM-PACKAGE-DEFAULT SYSTEM)))
		(LOOP FOR TRANSFORMATION IN (SYSTEM-TRANSFORMATIONS SYSTEM)
		      WHEN (NOT (TYPEP (TRANSFORMATION-INPUT TRANSFORMATION) 'MODULE))
		      NCONC (TRANSFORMATION-SOURCE-FILES TRANSFORMATION TYPES T))))
	 (AND INCLUDE-SUBSYSTEMS
	      (LOOP FOR SUBSYS IN (SYSTEM-COMPONENT-SYSTEMS SYSTEM)
		    NCONC (SYSTEM-SOURCE-FILES-1 SUBSYS TYPES INTERMEDIATE-TOO
						 INCLUDE-SUBSYSTEMS)))))

))
