(FILECREATED "10-Jul-86 23:33:11" {QV}<NOTECARDS>1.3K>NCCORE.;16 13208  

      changes to:  (FNS NC.PostGreet NC.MakeLafiteForm NC.Setup)
		   (VARS NCCORECOMS)

      previous date: " 7-Jul-86 10:59:38" {QV}<NOTECARDS>1.3K>NCCORE.;15)


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

(PRETTYCOMPRINT NCCORECOMS)

(RPAQQ NCCORECOMS ((* * This Release)
	(GLOBALVARS NC.ReleaseIdentifier)
	(VARS (NC.ReleaseIdentifier "1.3k"))
	(* * Set up the NoteCards directories globalvars)
	(GLOBALVARS NOTECARDSDIRECTORIES)
	(FNS NC.SetUpNOTECARDSDIRECTORIES)
	(INITVARS (NOTECARDSDIRECTORIES (NC.SetUpNOTECARDSDIRECTORIES)))
	(* * card types and library packages)
	(GLOBALVARS NOTECARDTYPESTUBS NOTECARDTYPES NOTECARDSLIBRARYFILES NC.LOADFLG)
	(ADDVARS (NOTECARDTYPESTUBS Sketch Graph Browser Search Document LinkIndex IdeaSketch))
	(ADDVARS (NOTECARDTYPES Hash List Text FileBox))
	(ADDVARS (NOTECARDSLIBRARYFILES (NCKEYS NCHACKS)))
	(INITVARS (NC.LOADFLG (QUOTE SYSLOAD)))
	(* * Load the supporting files for Notecards)
	(FILES (FROM VALUEOF LISPUSERSDIRECTORIES SYSLOAD)
	       STYLESHEET)
	(* * These are for the NoteFile browser and can go away when incorporated into the standard 
	   release (Lute))
	(P (LOAD? (FINDFILE (QUOTE TABLEBROWSER.DCOM)
			    T NOTECARDSDIRECTORIES)
		  (QUOTE SYSLOAD))
	   (LOAD? (FINDFILE (QUOTE FILEBROWSER.DCOM)
			    T NOTECARDSDIRECTORIES)
		  (QUOTE SYSLOAD)))
	(* * Load the NoteCards files)
	(DECLARE: EVAL@LOADWHEN NC.LOADFLG (FILES (SYSLOAD FROM VALUEOF NOTECARDSDIRECTORIES)
						  NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT 
						  NCREPAIR NCCARDS NCLINKS NCTYPESMECH NCUTILITIES 
						  NCPROGINT KOTOTEDITPATCHES KOTOSYSTEMPATCHES))
	(DECLARE: EVAL@LOADWHEN (NOT NC.LOADFLG)
		  (FILES (FROM VALUEOF NOTECARDSDIRECTORIES)
			 NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT NCREPAIR NCCARDS NCLINKS 
			 NCTYPESMECH NCUTILITIES NCPROGINT KOTOTEDITPATCHES KOTOSYSTEMPATCHES))
	(* * list of major source code files as a convenience to programmers)
	(GLOBALVARS NC.Files)
	(VARS (NC.Files (QUOTE (NOTECARDS NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT NCREPAIR 
					  NCCARDS NCLINKS NCTYPESMECH NCUTILITIES NCANNO NCGESTURES 
					  NCLOGO NCPROGINT NCHASHCARD NCTEXTCARD NCSKETCHCARD 
					  NCGRAPHCARD NCFILEBOXCARD NCBROWSERCARD NCSEARCHCARD 
					  NCDOCUMENTCARD NCLINKINDEXCARD NCLISTCARD 
					  NCCONVERTVERSION2TO3))))
	(* * global params)
	(GLOBALVARS NC.DeletedLinkImageObject NC.DeletedLinkImageFns NC.InvisibleLinkImageObject 
		    NC.InvisibleLinkImageFns NC.LinkIconImageFns NC.NoDeleteImageFns NC.SystemDate 
		    TEDIT.INPUT.FORMATS WindowMenuCommands NCINITIALGLOBALPARAMS)
	(INITVARS NCINITIALGLOBALPARAMS)
	(* * Initialization functions)
	(FNS NC.PostGreet)
	(ADDVARS (POSTGREETFORMS (NC.PostGreet)))
	(P (if (NULL (STKPOS (QUOTE GREET)))
	       then
	       (NC.PostGreet)))
	(* * Set up Lafite Bug Report Forms)
	(FNS NC.MakeLafiteForm)
	(ADDVARS (LAFITESPECIALFORMS ("NoteCards Report" (FUNCTION NC.MakeLafiteForm)
							 
					       "Report bug or request new feature for NoteCards.")))
	(P (SETQ LAFITEFORMSMENU NIL))
	(* * INITIALIZE NoteCards)
	(FNS NC.Setup)
	(P (NC.Setup))
	(ADDVARS (BackgroundMenuCommands (NoteCards (NC.BringUpNoteCardsIcon)
						    "Bring up the NoteCards control icon.")))
	(P (SETQ BackgroundMenu))
	(FNS NC.SetSystemDate)
	(P (NC.SetSystemDate))))
(* * This Release)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.ReleaseIdentifier)
)

(RPAQ NC.ReleaseIdentifier "1.3k")
(* * Set up the NoteCards directories globalvars)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NOTECARDSDIRECTORIES)
)
(DEFINEQ

(NC.SetUpNOTECARDSDIRECTORIES
  (LAMBDA (BaseDirectory ReleaseIdentifier)                  (* fgh: " 8-Oct-85 13:44")

          (* * Set up the NoteCards directories globalvars)


    (LET (ThisDirectory NoteCardsBaseDirectory StrPtr)

          (* * Get the directory for the file now being loaded)


         (COND
	   ((SETQ NoteCardsBaseDirectory BaseDirectory))
	   (T (SETQ ThisDirectory (PACK* (QUOTE {)
					     (FILENAMEFIELD (FULLNAME (INPUT))
							      (QUOTE HOST))
					     (QUOTE })
					     (QUOTE <)
					     (FILENAMEFIELD (FULLNAME (INPUT))
							      (QUOTE DIRECTORY))
					     (QUOTE >)))

          (* * Find the directory path up to the first subdirectory called NoteCards)


	      (COND
		((SETQ StrPtr (STRPOS "NOTECARDS>" (U-CASE ThisDirectory)
					  NIL NIL NIL T))
		  (SETQ NoteCardsBaseDirectory (SUBATOM ThisDirectory 1 (SUB1 StrPtr)))))))

          (* * Create the directory search list based on the NoteCardsBaseDirectory)


         (COND
	   (NoteCardsBaseDirectory (LIST (PACK* NoteCardsBaseDirectory (OR ReleaseIdentifier 
									     NC.ReleaseIdentifier)
						    ">")
					   (PACK* NoteCardsBaseDirectory (OR ReleaseIdentifier 
									     NC.ReleaseIdentifier)
						    ">" "LIBRARY>")
					   NoteCardsBaseDirectory
					   (PACK* NoteCardsBaseDirectory "LIBRARY>")))
	   (T (LIST ThisDirectory))))))
)

(RPAQ? NOTECARDSDIRECTORIES (NC.SetUpNOTECARDSDIRECTORIES))
(* * card types and library packages)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NOTECARDTYPESTUBS NOTECARDTYPES NOTECARDSLIBRARYFILES NC.LOADFLG)
)

(ADDTOVAR NOTECARDTYPESTUBS Sketch Graph Browser Search Document LinkIndex IdeaSketch)

(ADDTOVAR NOTECARDTYPES Hash List Text FileBox)

(ADDTOVAR NOTECARDSLIBRARYFILES (NCKEYS NCHACKS))

(RPAQ? NC.LOADFLG (QUOTE SYSLOAD))
(* * Load the supporting files for Notecards)

(FILESLOAD (FROM VALUEOF LISPUSERSDIRECTORIES SYSLOAD)
	   STYLESHEET)
(* * These are for the NoteFile browser and can go away when incorporated into the standard 
release (Lute))

(LOAD? (FINDFILE (QUOTE TABLEBROWSER.DCOM)
		 T NOTECARDSDIRECTORIES)
       (QUOTE SYSLOAD))
(LOAD? (FINDFILE (QUOTE FILEBROWSER.DCOM)
		 T NOTECARDSDIRECTORIES)
       (QUOTE SYSLOAD))
(* * Load the NoteCards files)

(DECLARE: EVAL@LOADWHEN NC.LOADFLG 
(FILESLOAD (SYSLOAD FROM VALUEOF NOTECARDSDIRECTORIES)
	   NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT NCREPAIR NCCARDS NCLINKS NCTYPESMECH 
	   NCUTILITIES NCPROGINT KOTOTEDITPATCHES KOTOSYSTEMPATCHES)
)
(DECLARE: EVAL@LOADWHEN (NOT NC.LOADFLG) 
(FILESLOAD (FROM VALUEOF NOTECARDSDIRECTORIES)
	   NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT NCREPAIR NCCARDS NCLINKS NCTYPESMECH 
	   NCUTILITIES NCPROGINT KOTOTEDITPATCHES KOTOSYSTEMPATCHES)
)
(* * list of major source code files as a convenience to programmers)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.Files)
)

(RPAQQ NC.Files (NOTECARDS NCPARAMETERS NCINTERFACE NCDATABASE NCCOMPACT NCREPAIR NCCARDS NCLINKS 
			     NCTYPESMECH NCUTILITIES NCANNO NCGESTURES NCLOGO NCPROGINT NCHASHCARD 
			     NCTEXTCARD NCSKETCHCARD NCGRAPHCARD NCFILEBOXCARD NCBROWSERCARD 
			     NCSEARCHCARD NCDOCUMENTCARD NCLINKINDEXCARD NCLISTCARD 
			     NCCONVERTVERSION2TO3))
(* * global params)

(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.DeletedLinkImageObject NC.DeletedLinkImageFns NC.InvisibleLinkImageObject 
	    NC.InvisibleLinkImageFns NC.LinkIconImageFns NC.NoDeleteImageFns NC.SystemDate 
	    TEDIT.INPUT.FORMATS WindowMenuCommands NCINITIALGLOBALPARAMS)
)

(RPAQ? NCINITIALGLOBALPARAMS NIL)
(* * Initialization functions)

(DEFINEQ

(NC.PostGreet
  (LAMBDA NIL                                                (* kirk: "10-Jul-86 22:57")

          (* * called when loading NOTECARDS and after each greet (for NOTECARDS sysout users))


    (LET (FullFileName TypeName Type File)
         (for TypeName in NOTECARDTYPESTUBS unless (OR (NC.CardTypeRecord TypeName)
							       (MEMB TypeName NOTECARDTYPES)
							       (GETHASH TypeName NC.CardTypes))
	    do (NC.AddCardTypeStub TypeName))
         (for TypeName in NOTECARDTYPES unless (AND (SETQ Type (GETHASH TypeName 
										    NC.CardTypes))
							    (NOT (fetch (NoteCardType StubFlg)
								      of Type)))
	    do (NC.CardTypeLoader TypeName))

          (* * Load the library packages requested by the user's NOTECARDSLIBRARYFILES parameters)


         (for File in NOTECARDSLIBRARYFILES unless (GETPROP File (QUOTE FILEDATES))
	    do (COND
		   ((SETQ FullFileName (OR (FINDFILE (PACK* File (QUOTE .dcom))
							   T NOTECARDSDIRECTORIES)
					       (FINDFILE File T NOTECARDSDIRECTORIES)))
		     (LOAD FullFileName NC.LOADFLG))
		   (T (PRINT (CONCAT "NoteCards: Can't find library file: " File "."))))))
    (NCP.NoteCardsParameters NCINITIALGLOBALPARAMS)))
)

(ADDTOVAR POSTGREETFORMS (NC.PostGreet))
(if (NULL (STKPOS (QUOTE GREET)))
    then
    (NC.PostGreet))
(* * Set up Lafite Bug Report Forms)

(DEFINEQ

(NC.MakeLafiteForm
  (LAMBDA NIL                                                (* rht: "29-Oct-85 18:47")
    (MAKEXXXSUPPORTFORM (CONCAT "NoteCards " NC.ReleaseIdentifier)
			  "NoteCardsSupport.pa" NC.SystemDate)))
)

(ADDTOVAR LAFITESPECIALFORMS ("NoteCards Report" (FUNCTION NC.MakeLafiteForm)
						   "Report bug or request new feature for NoteCards.")
)
(SETQ LAFITEFORMSMENU NIL)
(* * INITIALIZE NoteCards)

(DEFINEQ

(NC.Setup
  (LAMBDA NIL                                                (* rht: "11-Apr-86 22:47")

          (* * rht 11/17/84: Added definition of NC.InvisibleLinkImageObj.)



          (* * rht 4/11/86: Deleted short window menu stuff. Also dumped INTERCALC stuff and prompt window stuff.)


    (NC.InitializeUID)
    (SETQ AFTERLOGOUTFORMS (CONS (QUOTE (NC.InitializeUID))
				     AFTERLOGOUTFORMS))
    (SETQ UseMapWithPoliticalBoundaries T)
    (SETQ TEDIT.INPUT.FORMATS NIL)
    (NC.MakeMainMenu)
    (SETQ NC.LinkIconImageFns (IMAGEFNSCREATE (FUNCTION NC.LinkIconDisplayFn)
						  (FUNCTION NC.LinkIconImageBoxFn)
						  (FUNCTION NC.LinkIconPutFn)
						  (FUNCTION NC.LinkIconGetFn)
						  (FUNCTION NC.LinkIconCopyFn)
						  (FUNCTION NC.LinkIconButtonEventInFn)
						  (FUNCTION NILL)
						  (FUNCTION NC.LinkIconWhenMovedFn)
						  (FUNCTION NC.LinkIconWhenInsertedFn)
						  (FUNCTION NC.LinkIconWhenDeletedFn)
						  (FUNCTION NC.LinkIconWhenCopiedFn)
						  (FUNCTION NILL)
						  (FUNCTION NILL)))
    (SETQ NC.NoDeleteImageFns (PROG ((ImageObj (NC.MakeLinkIcon NIL)))
				        (replace (IMAGEOBJ IMAGEOBJFNS) of ImageObj
					   with (create IMAGEFNS using (fetch (IMAGEOBJ
											IMAGEOBJFNS)
										of ImageObj)))
				        (IMAGEOBJPROP ImageObj (QUOTE WHENDELETEDFN)
							(FUNCTION NILL))
				        (RETURN (fetch (IMAGEOBJ IMAGEOBJFNS) of ImageObj))))
    (SETQ NC.DeletedLinkImageFns (IMAGEFNSCREATE (FUNCTION NC.DeletedLinkDisplayFn)
						     (FUNCTION NC.DeletedLinkImageBoxFn)
						     (FUNCTION NC.DeletedLinkPutFn)
						     (FUNCTION NC.DeletedLinkGetFn)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)
						     (FUNCTION NILL)))
    (SETQ NC.DeletedLinkImageObject (IMAGEOBJCREATE "DeletedLink" NC.DeletedLinkImageFns))
    (SETQ NC.InvisibleLinkImageFns (IMAGEFNSCREATE (FUNCTION NILL)
						       (FUNCTION NC.InvisibleLinkImageBoxFn)
						       (FUNCTION NC.InvisibleLinkPutFn)
						       (FUNCTION NC.InvisibleLinkGetFn)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)
						       (FUNCTION NILL)))
    (SETQ NC.InvisibleLinkImageObject (IMAGEOBJCREATE "InvisibleLink" NC.InvisibleLinkImageFns))))
)
(NC.Setup)

(ADDTOVAR BackgroundMenuCommands (NoteCards (NC.BringUpNoteCardsIcon)
					      "Bring up the NoteCards control icon."))
(SETQ BackgroundMenu)
(DEFINEQ

(NC.SetSystemDate
  (LAMBDA NIL                                                (* fgh: "23-Aug-85 13:29")

          (* * Set the NC.SystemDate from the stored file dates)


    (LET (ThisFileDate)
         (SETQ NC.SystemDate "23-Aug-70 13:28:52")
         (for File in (CONS (QUOTE NOTECARDS)
				  NC.Files)
	    do (SETQ ThisFileDate (CAAR (GETPROP File (QUOTE FILEDATES))))
		 (COND
		   ((GREATERP (IDATE ThisFileDate)
				(IDATE NC.SystemDate))
		     (SETQ NC.SystemDate ThisFileDate)
		     (PUTPROP (QUOTE NC.SystemDate)
				(QUOTE NewestFile)
				File)))))))
)
(NC.SetSystemDate)
(PUTPROPS NCCORE COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (3649 5180 (NC.SetUpNOTECARDSDIRECTORIES 3659 . 5178)) (7458 8835 (NC.PostGreet 7468 . 
8833)) (8988 9233 (NC.MakeLafiteForm 8998 . 9231)) (9440 12286 (NC.Setup 9450 . 12284)) (12447 13112 (
NC.SetSystemDate 12457 . 13110)))))
STOP