(FILECREATED " 8-Sep-87 13:53:04" {QV}<NOTECARDS>1.3KNEXT>PMIPATCH061.;1 3296   

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


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

(PRETTYCOMPRINT PMIPATCH061COMS)

(RPAQQ PMIPATCH061COMS ((* * rg&pmi 9/8/87: fixes stub loading for NS servers.)
			  (* * Changed in NCTYPESMECH)
			  (FNS NC.CardTypeStubLoader)))
(* * rg&pmi 9/8/87: fixes stub loading for NS servers.)

(* * Changed in NCTYPESMECH)

(DEFINEQ

(NC.CardTypeStubLoader
  (LAMBDA (TypeName FileSuggestion)                          (* pmi: " 8-Sep-87 13:44")

          (* * 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)



          (* * rg&pmi 9/8/87: fixes stub loading for NS servers.)


    (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 (NC.LoadFileFromDirectories FileName)
						  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 PMIPATCH061 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (517 3214 (NC.CardTypeStubLoader 527 . 3212)))))
STOP