(FILECREATED "18-May-87 17:12:49" {QV}<NOTECARDS>1.3K>NEXT>RGPATCH042.;1 3217
changes to: (VARS RGPATCH042COMS)
(FNS NC.CardTypeStubLoader))
(* Copyright (c) 1987 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT RGPATCH042COMS)
(RPAQQ RGPATCH042COMS ((* * rg 5/18/87 checks, via disgusting kludge, to see if file can be opened
random access, if not, loads whole file)
(* * changes to NCTYPESMECH)
(FNS NC.CardTypeStubLoader)))
(* * rg 5/18/87 checks, via disgusting kludge, to see if file can be opened random access, if
not, loads whole file)
(* * changes to NCTYPESMECH)
(DEFINEQ
(NC.CardTypeStubLoader
[LAMBDA (TypeName FileSuggestion) (* Randy.Gobbel "18-May-87 17:12")
(* * Load card type TypeName using FileSuggestion as the first place to look. Otherwise look in the directories
specified by NoteCardsDirectories.)
(* * fgh 2/3/86 First written.)
(* * kirk 6/20/86 Added NCP.Add...CardStub fn load and call)
(* * kirk 9/9/86 Changed the name of the FN to search for to NCAddStub...Card)
(* * kirk 9/21/86 added RESETLST)
(* * rg 10/21/86: Changed to use simpler scheme for finding files)
(* * rht&rg 11/7/86: Now passes (QUOTE VARS) arg to LOADFNS so that interesting vars like link icon bitmap will be
loaded. There ought to be a better way.)
(* * rg 5/18/87 checks, via disgusting kludge, to see if file can be opened random access, if not, loads whole
file)
(LET* ((FileName (NC.FindFile FileSuggestion TypeName T))
(oldFILEDATES (GETPROP FileName (QUOTE FILEDATES)))
[RandAccessible (NLSETQ (PROG1 (OPENSTREAM FileName (QUOTE BOTH)
(QUOTE OLD))
(CLOSEF FileName]
NoInitFn AddTypeFn)
(if FileName
then [RESETLST [RESETSAVE NIL (BQUOTE (COND
(oldFILEDATES
(PUTPROP , (LIST (QUOTE QUOTE)
FileName)
(QUOTE FILEDATES)
oldFILEDATES))
(T (REMPROP , (LIST (QUOTE QUOTE)
FileName)
(QUOTE FILEDATES]
(* * Load and eval the NC.Add...CardStub fn)
(SETQ AddTypeFn (PACK* (QUOTE NCAddStub.)
TypeName
(QUOTE Card)))
(if RandAccessible
then (SETQ NoInitFn (EQ (CAAR (LOADFNS AddTypeFn
FileName NIL
(QUOTE VARS)))
(QUOTE NOT-FOUND:)))
else (LOAD? FileName NC.LOADFLG)
(SETQ NoInitFn (NOT (FNTYP AddTypeFn]
(NC.FixFileDates FileName)
(if NoInitFn
then (NC.ReportError "NC.CardTypeStubLoader"
(CONCAT
"NoteCards: Can't find card type stub init procedure: "
AddTypeFn " in " FileName ".")))
(* * this should call NC.AddCardTypeStub)
(APPLY AddTypeFn])
)
(PUTPROPS RGPATCH042 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
(FILEMAP (NIL (643 3136 (NC.CardTypeStubLoader 653 . 3134)))))
STOP