(FILECREATED "26-Jun-87 14:23:57" {QV}<NOTECARDS>1.3K>NEXT>RGPATCH050.;2 3366   

      changes to:  (FNS NC.CardTypeStubLoader)
		   (VARS RGPATCH050COMS)

      previous date: "18-Jun-87 18:03:30" {QV}<NOTECARDS>1.3K>NEXT>RGPATCH050.;1)


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

(PRETTYCOMPRINT RGPATCH050COMS)

(RPAQQ RGPATCH050COMS ((* * rg 6/18/87 now checks for files on NS servers by looking for a colon in 
			    the file name)
			 (* * changes to NCTYPESMECH)
			 (FNS NC.CardTypeStubLoader)))
(* * rg 6/18/87 now checks for files on NS servers by looking for a colon in the file name)

(* * changes to NCTYPESMECH)

(DEFINEQ

(NC.CardTypeStubLoader
  [LAMBDA (TypeName FileSuggestion)                          (* Randy.Gobbel "19-Jun-87 19: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)



          (* * rht 6/12/87: Changed call to OPENSTREAM to open for INPUT rather than BOTH.)



          (* * rg 6/18/87 now checks for files on NS servers by looking for a colon in the file name)



          (* * rg 6/19/87 check for AddTypeFn already defined before attempting to load it)


    (LET* ((FileName (NC.FindFile FileSuggestion TypeName T))
	   (oldFILEDATES (GETPROP FileName (QUOTE FILEDATES)))
	   (NSServerFlg (STRPOS ":" FileName))
	   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)))
				 (OR (FNTYP AddTypeFn)
				       (PROGN (if NSServerFlg
						    then (LOAD? FileName NC.LOADFLG)
						  else (LOADFNS AddTypeFn FileName NIL
								    (QUOTE VARS)))
						(NC.FixFileDates FileName]
		     (if (NOT (FNTYP AddTypeFn))
			 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 RGPATCH050 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (674 3285 (NC.CardTypeStubLoader 684 . 3283)))))
STOP