;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 124.116 ;;; Reason: ;;; (si:system-source-files) returns the list of source files in a system and ;;; its component subsystems. Currently, it goes through the subsystems in ;;; REVERSE order. Looking at current callers of this function, there is no ;;; reason why it should do this. A human, calling ZWEI's "Find System Files", ;;; for example, would prefer the subsystems in normal order. Fix it. ;;; Written 28-Jun-88 15:47:49 by pld (Peter L. DeWolf) at site Gigamos Cambridge ;;; while running on Cthulhu from band 1 ;;; with Experimental System 124.112, 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, microcode 1761, SDU Boot Tape 3.14, SDU ROM 8, the old ones. ; From modified file DJ: L.SYS2; MAKSYS.LISP#208 at 28-Jun-88 15:48:11 #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*) (SETQ SYSTEM (FIND-SYSTEM-NAMED SYSTEM)) (SETQ *SYSTEM-DEFAULT-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))))) ))