perm filename LOADUP[DEN,LMM] blob
sn#070830 filedate 1973-11-07 generic text, type T, neo UTF8
(FILECREATED " 7-NOV-73 5:25:12" S-LOADUP)
(LISPXPRINT (QUOTE LOADUPVARS)
T)
(RPAQQ LOADUPVARS ((FNS STARTUP STARTLOAD LOADDEF FILEOF FILESOF)
(VARS S-STRGENFILES)))
(DEFINEQ
(STARTUP
[LAMBDA (NOTCOMFLG NOTSOURCEFLG FILES) (* Used to create the
system)
[AND (OR (NULL NOTCOMFLG)
(NULL NOTSOURCEFLG))
(MAPC (OR FILES (SETQ FILES S-STRGENFILES))
(FUNCTION (LAMBDA (FILE COMFILE GOTCOM)
(SETQ COMFILE (PACK (LIST FILE ".COM")))
[SETQ GOTCOM (OR (MEMB COMFILE FILELST)
(AND (NOT NOTCOMFLG)
(INFILEP COMFILE)
(STARTLOAD COMFILE]
[OR NOTSOURCEFLG (STARTLOAD FILE
(AND GOTCOM
(QUOTE PROP]
(/PUT FILE (QUOTE FILE)
(LIST NIL (PACK (LIST (MKATOM (SUBSTRING
FILE 3))
"VARS"]
(COND
((AND (OR (MEMB (QUOTE S-EXPAND)
FILELST)
(MEMB (QUOTE S-EXPAND.COM)
FILELST))
(EQ (Y/N ((N . o)
(Y . es))
"Turn on and off? ")
(QUOTE Y)))
(TURNOFF (FIXFN (QUOTE MOLECULES)
(QUOTE L)
(QUOTE N)
(QUOTE (NIL])
(STARTLOAD
[LAMBDA (FILE LOADFLG EVENIFLOADED)
(COND
((AND (NOT EVENIFLOADED)
(MEMB FILE FILELST))
(LISPXPRINT (CONS FILE (QUOTE (already loaded)))
T))
((EQ LOADFLG (QUOTE PROP))
(LISPXPRINT (LIST (QUOTE loading)
FILE)
T)
(LOADFNS T FILE LOADFLG)
(SAVESETQ FILELST (CONS FILE FILELST)))
(T (LOAD FILE LOADFLG)))
FILE])
(LOADDEF
[LAMBDA (FN ONLYTHISONEFLG)
(* Loads the definitions of all of the functions
in the file which contains FN -
However, if ONLYTHISONEFLG is on, just loads the
definition of this one function)
(PROG [(FILE (NAMEFIELD (OR (FILEOF FN)
(ERROR FN "not found on any file"]
(COND
(ONLYTHISONEFLG (LOADFNS (LIST FN)
FILE
(QUOTE PROP)))
(T (STARTLOAD FILE (QUOTE PROP])
(FILEOF
[LAMBDA (FN)
(CAR (SOME FILELST (FUNCTION (LAMBDA (FILE)
(OR (MEMB FN (CAR (FILEFNS FILE)))
(NEWFILE2 FN (CAR (FILEVARS FILE))
(QUOTE FNS])
(FILESOF
[LAMBDA (FN)
(SUBSET FILELST (FUNCTION (LAMBDA (FILE)
(OR (MEMB FN (CAR (FILEFNS FILE)))
(NEWFILE2 FN (CAR (FILEVARS FILE))
(QUOTE FNS])
)
(RPAQQ S-STRGENFILES
(S-LOADUP S-TOTAL S-GENLISP S-BACKTRACK S-CL S-CYCLIC S-DICT
S-CATALOG S-DRAW S-EXAMPLE S-EXPAND S-EXPLAIN
S-GROUP S-LABELER S-NEWGEN S-STRUCTURE S-TOPLEVEL
S-TREE))
STOP