(DEFINE-FILE-INFO PACKAGE "IL" READTABLE "INTERLISP" BASE 10)
(FILECREATED "15-Jan-88 17:33:55" {QV}<NOTECARDS>1.3LNEXT>RGPATCH074.;2 4973   

      changes to%:  (FNS NC.LoadFileFromDirectories SIMPLE-LOADEDFILELST)
                    (VARS RGPATCH074COMS)

      previous date%: "15-Jan-88 17:29:24" {QV}<NOTECARDS>1.3LNEXT>RGPATCH074.;1)


(* "
Copyright (c) 1988 by Xerox Corporation.  All rights reserved.
")

(PRETTYCOMPRINT RGPATCH074COMS)

(RPAQQ RGPATCH074COMS (
          
          (* ;; 
        "rg 1/15/88 now only loads files that have not been loaded in any version whatsoever, SVAHA!")

                       
          
          (* ;; "changes to NCCONFIG")

                       (FNS NC.LoadFileFromDirectories)
                       
          
          (* ;; "new for NCCONFIG")

                       (FNS SIMPLE-LOADEDFILELST)
                       (PROP (FILETYPE MAKEFILE-ENVIRONMENT)
                             RGPATCH074)))



(* ;; "rg 1/15/88 now only loads files that have not been loaded in any version whatsoever, SVAHA!")




(* ;; "changes to NCCONFIG")

(DEFINEQ

(NC.LoadFileFromDirectories
  [LAMBDA (FileName Directories QuietFlg)             (* ; "Edited 15-Jan-88 17:33 by Randy.Gobbel")
          
          (* ;; "Try to load FileName from Directories.  The latter can be a list in which case the elements should be directory paths.  It can be an atom in which case it should be a DIRECTORIES var.  Or it can be NIL in which case it defaults to the litatom NOTECARDSDIRECTORIES.")
          
          (* ;; "fgh 6/3/86 Now closes tty window after ts done.")
          
          (* ;; "rht 10/31/86: Changed 'DIRECTORIES' to 'Directories'")
          
          (* ;; "rht 4/17/87: Now smashes PAGEFULLFN of tty window so that it'll scroll automatically.  Also prints a message to the tty window.")
          
          (* ;; "rg 7/9/87 now uses NC.FindFile")
          
          (* ;; "rg 7/21/87 now looks at QuietFlg before doing PRINTOUT.  Note: there may still be some instances where files will not be loaded, even though a message is printed, but it's too difficult to predict for all cases whether LOAD?  will actually do a LOAD.  Membership in LOADEDFILELST is used as a 99 correct hint")
          
          (* ;; "rg 9/4/87 now pushes file name onto NC.LoadedFiles for use by NC.PostGreet")
          
          (* ;; "rg 1/15/88 now checks rootified version of LOADEDFILELST, won't load any file that it finds there.  Net effect is that this fn will NEVER load a file that has been loaded in ANY version previously")

    (DECLARE (GLOBALVARS NC.LoadedFiles))
    (RESETLST [RESETSAVE NIL (if (OPENWP (WFROMDS (TTYDISPLAYSTREAM)
                                                T))
                                 then (SETQ QuietFlg T)
                                      '(NILL)
                               else `(CLOSEW ,(WFROMDS (TTYDISPLAYSTREAM]
           [RESETSAVE NIL (if QuietFlg
                              then '(NILL)
                            else `(WINDOWPROP ,(WFROMDS (TTYDISPLAYSTREAM)) 'PAGEFULLFN
                                         ,(WINDOWPROP (WFROMDS (TTYDISPLAYSTREAM))
                                                 'PAGEFULLFN
                                                 'NILL]
           (LET [(Window (WFROMDS (TTYDISPLAYSTREAM)))
                 (FullName (NC.FindFile FileName NIL NIL NIL (OR (GETPROP FileName 'Directories)
                                                                 Directories]
                (if [AND FullName (NOT (FMEMB FileName (SIMPLE-LOADEDFILELST]
                    then (if (NOT QuietFlg)
                             then (CLEARW Window)
                                  (FLASHWINDOW Window)
                                  (PRINTOUT Window "Attempting to autoload " FileName T))
                         (APPLY* (FUNCTION FILESLOAD)
                                '(SYSLOAD) FullName)
                         (pushnew NC.LoadedFiles (FILENAMEFIELD FileName 'NAME))
                         (NC.FixFileDates FileName])
)



(* ;; "new for NCCONFIG")

(DEFINEQ

(SIMPLE-LOADEDFILELST
  [LAMBDA NIL                                         (* ; "Edited 15-Jan-88 17:07 by Randy.Gobbel")

    (for file in LOADEDFILELST collect (LET [(ext (FILENAMEFIELD file 'EXTENSION]
                                            (PACKFILENAME 'NAME (FILENAMEFIELD file 'NAME)
                                                   'EXTENSION
                                                   (if (NOT (FMEMB ext *COMPILED-EXTENSIONS*))
                                                       then ext])
)

(PUTPROPS RGPATCH074 FILETYPE :TCOMPL)

(PUTPROPS RGPATCH074 MAKEFILE-ENVIRONMENT (:PACKAGE "IL" :READTABLE "INTERLISP" :BASE 10))
(PUTPROPS RGPATCH074 COPYRIGHT ("Xerox Corporation" 1988))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (1121 4161 (NC.LoadFileFromDirectories 1131 . 4159)) (4196 4751 (SIMPLE-LOADEDFILELST 
4206 . 4749)))))
STOP