(DEFINE-FILE-INFO PACKAGE "IL" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Oct-88 17:18:54" {QV}<NOTECARDS>1.3MNEXT>NOTECARDS.;2 30893  

      changes to%:  (FNS NC.PostGreet NC.LoadFileFromDirectories)
                    (FILES SCALEBITMAP NCCONFIG)
                    (VARS NOTECARDSCOMS)

      previous date%: "13-Oct-88 14:24:18" {QV}<NOTECARDS>1.3L>NOTECARDS.;25)


(* "
Copyright (c) 1986, 1987, 1988 by Xerox Corporation.  All rights reserved.
")

(PRETTYCOMPRINT NOTECARDSCOMS)

(RPAQQ NOTECARDSCOMS
       (

(* ;;; "This Release")

        (GLOBALVARS NC.ThisDirectory NC.ReleaseIdentifier NOTECARDSNEXTDIRECTORIES 
               NOTECARDSDIRECTORIES NC.SourceAccessFlg NC.LoadedFiles UseMapWithPoliticalBoundaries 
               AFTERLOGOUTFORMS)
        (INITVARS (NC.LoadedFiles NIL))
        (VARS (NC.ReleaseIdentifier "1.3M"))
        

(* ;;; "Set up the NoteCards directories globalvars")

        (FNS NC.SetUpNOTECARDSDIRECTORIES)
        (DECLARE%: DONTEVAL@LOAD DOCOPY (P (NC.SetUpNOTECARDSDIRECTORIES)))
        

(* ;;; "card types and library packages")

        (GLOBALVARS NOTECARDTYPESTUBS NOTECARDTYPES NOTECARDSLIBRARYFILES NOTECARDSLISPUSERSFILES)
        (ADDVARS (NOTECARDTYPESTUBS Sketch Graph Browser Search Document LinkIndex IdeaSketch))
        (ADDVARS (NOTECARDTYPES Hash List Text FileBox))
        (ADDVARS (NOTECARDSLIBRARYFILES NCHACKS NEWSHADEITEM))
                                                             (* ; 
                                                             "ADDVARS (NOTECARDSLIBRARYFILES NCKEYS)")
        (ADDVARS (NOTECARDSLISPUSERSFILES TEDIT-PROCESS-KILLER))
        

(* ;;; "SCALEBITMAP is for link icon formatting")

        (FILES (SYSLOAD FROM LISPUSERS)
               SCALEBITMAP STYLESHEET)
        

(* ;;; "code module lists")

        (GLOBALVARS NC.CoreFiles NC.Files)
        

(* ;;; "global params")

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

(* ;;; "Load the NoteCards files")

        (FNS NC.FindFile NC.LoadFileFromDirectories NC.LookupAutoloadFnFile NC.StoreAutoloadFnFile 
             SIMPLE-FILENAME SIMPLE-LOADEDFILELST)
        [DECLARE%: DONTEVAL@LOAD DOCOPY (FILES (FROM NOTECARDS NIL)
                                               NCCONFIG)
                                                             (* ; "(P (ADVISE 'WHEREIS 'BEFORE NIL '(if (GETPROP 'NOTECARDS 'FILEDATES) then (NC.FixFileDates 'NOTECARDS) (UNADVISE 'WHEREIS))))")
               (P (for File in NC.CoreFiles do (NC.LoadFileFromDirectories File]
        

(* ;;; "Initialization functions")

        (FNS NC.SendNCStartedMessage NC.PostGreet)
        (ADDVARS (POSTGREETFORMS (NC.PostGreet T)))
        (DECLARE%: DONTEVAL@LOAD DOCOPY (P (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.")))
        (VARS (LAFITEFORMSMENU NIL))
                                                             (* ; "force menu to be recomputed")
        

(* ;;; "INITIALIZE NoteCards")

        (FNS NC.Setup)
        (DECLARE%: DONTEVAL@LOAD DOCOPY (P (NC.Setup)))
        (ADDVARS (BackgroundMenuCommands (NoteCards (NC.BringUpNoteCardsIcon)
                                                "Bring up the NoteCards control icon.")))
        (VARS (BackgroundMenu NIL))
                                                             (* ; "force menu to be recomputed")
        (FNS NC.SetSystemDate)
        (DECLARE%: DONTEVAL@LOAD DOCOPY (P (NC.SetSystemDate)
                                           (NC.SendNCStartedMessage " loadup")))
        (PROP (FILETYPE MAKEFILE-ENVIRONMENT)
              NOTECARDS)))



(* ;;; "This Release")

(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.ThisDirectory NC.ReleaseIdentifier NOTECARDSNEXTDIRECTORIES NOTECARDSDIRECTORIES 
       NC.SourceAccessFlg NC.LoadedFiles UseMapWithPoliticalBoundaries AFTERLOGOUTFORMS)
)

(RPAQ? NC.LoadedFiles NIL)

(RPAQ NC.ReleaseIdentifier "1.3M")



(* ;;; "Set up the NoteCards directories globalvars")

(DEFINEQ

(NC.SetUpNOTECARDSDIRECTORIES
  [LAMBDA (BaseDirectory ReleaseIdentifier)                  (* Randy.Gobbel " 4-Sep-87 12:21")
          
          (* * Set up the NoteCards directories globalvars)
          
          (* * fgh |8/5/86| Now adds NC.ThisDirectory onto the beginning of the directory 
          list retruned.)
          
          (* * rg |4/24/87| adds next>lib> into dir list if notecards was loaded from 
          >next)
          
          (* * rg |5/14/87| now sets NOTECARDSNEXTDIRECTORIES)
          
          (* * rg |7/10/87| flattened directories%: next not a subdir of release dir ;
          also sets dirs directly instead of returning a value)
          
          (* * rg |7/21/87| now sets NC.SourceAccessFlg based on whether or not user is 
          connected to "next" directory)

    (DECLARE (GLOBALVARS NOTECARDSNEXTDIRECTORIES NOTECARDSDIRECTORIES NC.SourceAccessFlg))
    (SETQ NOTECARDSDIRECTORIES (LET (NoteCardsBaseDirectory StrPtr LibNextDirectory)
          
          (* * Get the directory for the file now being loaded)

                                    [COND
                                       ((SETQ NoteCardsBaseDirectory BaseDirectory))
                                       (T (SETQ NC.ThisDirectory (PACK* '{ (FILENAMEFIELD
                                                                            (FULLNAME (INPUT))
                                                                            'HOST)
                                                                        '}
                                                                        '<
                                                                        (FILENAMEFIELD (FULLNAME
                                                                                        (INPUT))
                                                                               'DIRECTORY)
                                                                        '>))
          
          (* * Find the directory path up to the first subdirectory called NoteCards)

                                          (COND
                                             ((SETQ StrPtr (STRPOS "NOTECARDS>" (U-CASE 
                                                                                     NC.ThisDirectory
                                                                                       )
                                                                  NIL NIL NIL T))
                                              (SETQ NoteCardsBaseDirectory (SUBATOM NC.ThisDirectory 
                                                                                  1 (SUB1 StrPtr]
                                    (SETQ NOTECARDSNEXTDIRECTORIES (PACK* NoteCardsBaseDirectory
                                                                          (OR ReleaseIdentifier 
                                                                              NC.ReleaseIdentifier)
                                                                          "NEXT>"))
                                    (RPAQ? NC.SourceAccessFlg (EQ NC.ThisDirectory 
                                                                  NOTECARDSNEXTDIRECTORIES))
                                    (SETQ LibNextDirectory (COND
                                                              ((STRPOS "NEXT>" NC.ThisDirectory)
                                                               (PACK* NoteCardsBaseDirectory
                                                                      (OR ReleaseIdentifier 
                                                                          NC.ReleaseIdentifier)
                                                                      "NEXT>LIBRARY>"))
                                                              (T NIL)))
          
          (* * Create the directory search list based on the NoteCardsBaseDirectory)

                                    (COND
                                       [NoteCardsBaseDirectory
                                        (COND
                                           [LibNextDirectory (UNION (LIST NC.ThisDirectory)
                                                                    (LIST (PACK* 
                                                                               NoteCardsBaseDirectory
                                                                                 (OR 
                                                                                    ReleaseIdentifier 
                                                                                 NC.ReleaseIdentifier
                                                                                     )
                                                                                 ">")
                                                                          LibNextDirectory
                                                                          (PACK* 
                                                                               NoteCardsBaseDirectory
                                                                                 (OR 
                                                                                    ReleaseIdentifier 
                                                                                 NC.ReleaseIdentifier
                                                                                     )
                                                                                 ">" "LIBRARY>")
                                                                          NoteCardsBaseDirectory
                                                                          (PACK* 
                                                                               NoteCardsBaseDirectory 
                                                                                 "LIBRARY>"]
                                           (T (UNION (LIST NC.ThisDirectory)
                                                     (LIST (PACK* NoteCardsBaseDirectory
                                                                  (OR ReleaseIdentifier 
                                                                      NC.ReleaseIdentifier)
                                                                  ">")
                                                           (PACK* NoteCardsBaseDirectory
                                                                  (OR ReleaseIdentifier 
                                                                      NC.ReleaseIdentifier)
                                                                  ">" "LIBRARY>")
                                                           NoteCardsBaseDirectory
                                                           (PACK* NoteCardsBaseDirectory "LIBRARY>"]
                                       (T (LIST NC.ThisDirectory])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(NC.SetUpNOTECARDSDIRECTORIES)
)



(* ;;; "card types and library packages")

(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NOTECARDTYPESTUBS NOTECARDTYPES NOTECARDSLIBRARYFILES NOTECARDSLISPUSERSFILES)
)

(ADDTOVAR NOTECARDTYPESTUBS Sketch Graph Browser Search Document LinkIndex IdeaSketch)

(ADDTOVAR NOTECARDTYPES Hash List Text FileBox)

(ADDTOVAR NOTECARDSLIBRARYFILES NCHACKS NEWSHADEITEM)



(* ; "ADDVARS (NOTECARDSLIBRARYFILES NCKEYS)")


(ADDTOVAR NOTECARDSLISPUSERSFILES TEDIT-PROCESS-KILLER)



(* ;;; "SCALEBITMAP is for link icon formatting")


(FILESLOAD (SYSLOAD FROM LISPUSERS)
       SCALEBITMAP STYLESHEET)



(* ;;; "code module lists")

(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.CoreFiles NC.Files)
)



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



(* ;;; "Load the NoteCards files")

(DEFINEQ

(NC.FindFile
  [LAMBDA (FileName TypeName CheckConnectedDirFlg SourceFlg Directories)
                                                             (* Randy.Gobbel "20-Jul-87 18:45")
          
          (* * kirk |6/12/86| find code file to implement a card type)
          
          (* * kirk |9/21/86| added optional FileName parameter)
          
          (* * rht&rg&pmi 10/21/86%: Removed lots of useless kruft and replaced with 
          other FINDFILE kruft. Added CheckConnectedDirFlg arg.)
          
          (* * kirk |12/23/86| replaced use of DCOM with COMPILE.EXT)
          
          (* * RG |5/15/87| now return NIL if final FINDFILE fails)
          
          (* * rg |6/19/87| try to use filename props if they exist.
          Don't use props if initial install of this version on a particular file server.)
          
          (* * rg |7/20/87| fix glitch in file props scheme)

    (DECLARE (GLOBALVARS NOTECARDSDIRECTORIES))
    (LET [(FilesLoadDirs (if Directories
                             then (EVAL Directories)
                           elseif CheckConnectedDirFlg
                             then (CONS (DIRECTORYNAME T T)
                                        NOTECARDSDIRECTORIES)
                           else NOTECARDSDIRECTORIES))
          (FileProps (GETPROP FileName (if SourceFlg
                                           then 'SourceFile
                                         else 'CompiledFile]
         [OR FileName (SETQ FileName (PACK* 'NC (U-CASE TypeName)
                                            'CARD]
         (OR (AND (NOT NC.InstallFlg)
                  FileProps
                  (FINDFILE FileProps))
             (if (AND (NULL (FILENAMEFIELD FileName 'EXTENSION))
                      (FINDFILE (PACKFILENAME 'BODY FileName 'EXTENSION
                                       (if SourceFlg
                                           then ""
                                         else COMPILE.EXT))
                             T FilesLoadDirs))
               else (FINDFILE FileName T FilesLoadDirs])

(NC.LoadFileFromDirectories
  [LAMBDA (FileName Directories QuietFlg TypeName AlwaysFlg) (* ; "Edited  8-Sep-88 17:31 by pmi")

    (* ;; "Try to load FileName from Directories.  The latter can be a list in which case the elements should be directory paths.  It can be an atom in which case it should be a DIRECTORIES var.  Or it can be NIL in which case it defaults to the litatom NOTECARDSDIRECTORIES.")

    (* ;; "rg 9/4/87 now pushes file name onto NC.LoadedFiles for use by NC.PostGreet")

    (* ;; "rg 1/15/88 now checks rootified version of LOADEDFILELST, won't load any file that it finds there.  Net effect is that this fn will NEVER load a file that has been loaded in ANY version previously.  No longer calls NC.FixFileDates.")

    (* ;; "rg 1/22/88: doesn't SYSLOAD if NC.SourceAccessFlg set, returns full file name instead of NC.LoadedFiles.  Trimmed change log.")

    (* ;; "rg 5/2/88: Uses FILEDATES prop instead of checking SIMPLELOADEDFILELST, added AlwaysFlg")

    (* ;; "rg 6/22/88 put search through LOADEDFILELST back in - FILEDATES property check wasn't sufficient for, e.g., stubs.")

    (* ;; "pmi 9/8/88: Changed printout  %"Attempting to autoload ...%" so that it prints either the FileName or the TypeName, in case FileName is NIL.  Also changed to add the name part of FullName instead of FileName to the NC.LoadedFiles list.  ")

    (DECLARE (GLOBALVARS NC.LoadedFiles))
    (RESETLST
        [RESETSAVE NIL (if (OPENWP (WFROMDS (TTYDISPLAYSTREAM)
                                              T))
                           then (SETQ QuietFlg T)
                                 '(NILL)
                         else `(CLOSEW ,(WFROMDS (TTYDISPLAYSTREAM]
        [RESETSAVE NIL (if QuietFlg
                           then '(NILL)
                         else `(WINDOWPROP ,(WFROMDS (TTYDISPLAYSTREAM))
                                          'PAGEFULLFN
                                          ,(WINDOWPROP (WFROMDS (TTYDISPLAYSTREAM))
                                                  'PAGEFULLFN
                                                  'NILL]
        [LET ((Window (WFROMDS (TTYDISPLAYSTREAM)))
              (SimpleName (SIMPLE-FILENAME FileName))
              FullName)
             (if [AND [OR AlwaysFlg (NOT (GETPROP SimpleName 'FILEDATES))
                              (for LoadedFile in LOADEDFILELST
                                 never (EQ SimpleName (SIMPLE-FILENAME LoadedFile]
                          (SETQ FullName (NC.FindFile FileName TypeName TypeName NIL
                                                (OR (GETPROP FileName 'Directories)
                                                    Directories]
                 then (if (NOT QuietFlg)
                              then (CLEARW Window)
                                    (FLASHWINDOW Window)
                                    (if TypeName
                                        then (PRINTOUT Window "Card type " TypeName 
                                                        " not loaded." T))
                                    (PRINTOUT Window "Attempting to autoload " (OR FileName TypeName)
                                           T))
                       (PROG1 [if AlwaysFlg
                                  then (LOAD FullName (if (NOT NC.SourceAccessFlg)
                                                              then 'SYSLOAD))
                                else (APPLY* #'FILESLOAD (if NC.SourceAccessFlg
                                                                 then `(,FullName)
                                                               else `((SYSLOAD)
                                                                          ,FullName]
                           (pushnew NC.LoadedFiles (FILENAMEFIELD FullName 'NAME)))])])

(NC.LookupAutoloadFnFile
  [LAMBDA (AutoloadFn)                                (* ; "Edited 14-Jan-88 11:53 by Randy.Gobbel")
          
          (* ;; "rg 1/14/88 no longer gets fully-qualified name, lets NC.LoadFileFromDirectories load from connected dir if NC.InstallFlg set")
          
          (* ;; "Fetch the filename for loading given function")

    (GETPROP AutoloadFn 'File])

(NC.StoreAutoloadFnFile
  [LAMBDA (AutoloadFn FileName Directories)                  (* edited%: "26-Aug-87 17:22")
          
          (* * Store an entry in the autoload table for given AutoloadFn.
          It consists of FileName and Directories variable or list or NIL.)

    (PUTPROP AutoloadFn 'File FileName)
    (PUTPROP FileName 'Directories Directories)
    (pushnew NC.AutoloadableFns AutoloadFn])

(SIMPLE-FILENAME
  [LAMBDA (file)                                      (* ; "Edited 20-Jan-88 11:22 by Randy.Gobbel")

    (LET [(ext (FILENAMEFIELD file 'EXTENSION]
         (PACKFILENAME 'NAME (FILENAMEFIELD file 'NAME)
                'EXTENSION
                (if (NOT (FMEMB ext *COMPILED-EXTENSIONS*))
                    then ext])

(SIMPLE-LOADEDFILELST
  [LAMBDA NIL                                         (* ; "Edited 20-Jan-88 11:23 by Randy.Gobbel")

    (for file in LOADEDFILELST collect (SIMPLE-FILENAME file])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(FILESLOAD (FROM NOTECARDS NIL)
       NCCONFIG)


(for File in NC.CoreFiles do (NC.LoadFileFromDirectories File))
)



(* ;;; "Initialization functions")

(DEFINEQ

(NC.SendNCStartedMessage
  [LAMBDA (startType)                                 (* ; "Edited 12-Oct-88 18:22 by Randy.Gobbel")
    (if [AND (DEFINEDP 'LAFITEMODE)
             (DEFINEDP 'LAFITE.SENDMESSAGE)
             (MEMBER (LAFITEMODE)
                    '(GV NS]
        then (LET ((HELPFLAG NIL))
                  (NLSETQ (LAFITE.SENDMESSAGE (CONCAT "To: " (if (EQ (LAFITEMODE)
                                                                     'GV)
                                                                 then "NoteCardsSupport.pa"
                                                               else "NoteCardsSupport:PA:Xerox")
                                                     "
Subject: NC " NC.ReleaseIdentifier startType " of " NC.SystemDate " started
Format: Text

NoteCards " NC.ReleaseIdentifier startType " of " NC.SystemDate "
started by " USERNAME ":" CH.DEFAULT.DOMAIN ":" CH.DEFAULT.ORGANIZATION " at " (DATE)
                                                     "
"])

(NC.PostGreet
  [LAMBDA (SendStartedMessage)                              (* ; "Edited 14-Oct-88 17:12 by Gobbel")

    (* ;; "called when loading NOTECARDS and after each greet (for NOTECARDS sysout users) Note this means you cannot put anything in here that should not be called twice!")

    (* ;; "rg 9/2/87 added (NC.FixFileDates NC.LoadedFiles)")

    (* ;; "rg 1/15/88 no longer calls NC.FixFileDates, sets up to use NEW-WHERE-IS database")

    (* ;; "rg 1/22/88: use database even if source access not turned on")

    (* ;; 
    "rg 5/10/88: undo previous change, also now loads POSTRELEASEPATCHES even if loaded previously")

    (DECLARE (GLOBALVARS NC.SourceAccessFlg NC.CardTypes NC.CoreFiles NC.LoadedFiles 
                        NOTECARDTYPES NOTECARDTYPESTUBS NOTECARDSLIBRARYFILES NOTECARDSLISPUSERSFILES
                        NCINITIALGLOBALPARAMS))
    [LET (FullFileName TypeName Type File)
         (for TypeName in NOTECARDTYPES unless (AND (SETQ Type (GETHASH TypeName 
                                                                                  NC.CardTypes))
                                                                (NOT (fetch (NoteCardType StubFlg
                                                                                       ) of
                                                                                         Type)))
            do (NC.CardTypeLoader TypeName NIL T))

         (* ;; "in case new patches have been made since the sysout was made or the last greet")

         (NC.LoadFileFromDirectories 'POSTRELEASEPATCHES NIL NIL NIL T)
         (for TypeName in NOTECARDTYPESTUBS unless (OR (NC.CardTypeRecord TypeName)
                                                                   (MEMB TypeName NOTECARDTYPES)
                                                                   (GETHASH TypeName NC.CardTypes))
            do (NC.CardTypeStubLoader TypeName))

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

         (for File in NOTECARDSLIBRARYFILES unless (GETPROP File 'FILEDATES)
            do (COND
                      ((SETQ FullFileName (NC.FindFile File))
                       (NC.LoadFileFromDirectories FullFileName))
                      (T (PRINT (CONCAT "NoteCards: Can't find library file: " File "."]
    (for File in NOTECARDSLISPUSERSFILES do (NC.LoadFileFromDirectories File
                                                               'LISPUSERSDIRECTORIES))
    (if (GETD 'START-TEDIT-KILLER)
        then (START-TEDIT-KILLER))
    (if NC.SourceAccessFlg
        then (XCL::ADD-WHERE-IS-DATABASE (NC.FindFile 'NOTECARDS.HASH NIL NIL T)))
    (NCP.NoteCardsParameters NCINITIALGLOBALPARAMS)
    (if SendStartedMessage
        then (NC.SendNCStartedMessage " sysout"])
)

(ADDTOVAR POSTGREETFORMS (NC.PostGreet T))
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(NC.PostGreet)
)



(* ;;; "Set up Lafite Bug Report Forms")

(DEFINEQ

(NC.MakeLafiteForm
  [LAMBDA NIL                                         (* ; "Edited 11-Dec-87 16:44 by Randy.Gobbel")
          
          (* ;; 
          "pmi 5/8/87: Changed 'To:' field to be choice of GV or NS address for NoteCardsSupport.")
          
          (* ;; "rg 8/26/87 set 'to' field automatically based on LAFITEMODE")
          
          (* ;; "rg 12/11/87 took out ↑ in NoteCardsSupport.PA, for the n'th time!!!")

    (MAKEXXXSUPPORTFORM (CONCAT "NoteCards " NC.ReleaseIdentifier)
           (if (EQ (LAFITEMODE)
                   'GV)
               then "NoteCardsSupport.PA"
             else "NoteCardsSupport:PA:Xerox")
           NC.SystemDate])
)

(ADDTOVAR LAFITESPECIALFORMS ("NoteCards Report" (FUNCTION NC.MakeLafiteForm)
                                        "Report bug or request new feature for NoteCards."))

(RPAQQ LAFITEFORMSMENU NIL)



(* ; "force menu to be recomputed")




(* ;;; "INITIALIZE NoteCards")

(DEFINEQ

(NC.Setup
  [LAMBDA NIL                                                (* Randy.Gobbel " 5-Nov-86 15:45")
          
          (* * 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.)

    (DECLARE (GLOBALVARS UseMapWithPoliticalBoundaries AFTERLOGOUTFORMS))
    (NC.InitializeUID)
    (SETQ AFTERLOGOUTFORMS (CONS '(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 '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])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(NC.Setup)
)

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

(RPAQQ BackgroundMenu NIL)



(* ; "force menu to be recomputed")

(DEFINEQ

(NC.SetSystemDate
  [LAMBDA NIL                                                (* edited%: "26-Aug-87 18:30")
          
          (* * Set the NC.SystemDate from the stored file dates)

    (DECLARE (GLOBALVARS NC.SystemDate NC.Files))
    (LET (ThisFileDate)
         (SETQ NC.SystemDate "23-Aug-70 13:28:52")
         (for File in (LDIFFERENCE NC.Files '(NCCONFIG POSTRELEASEPATCHES))
            do [SETQ ThisFileDate (OR (CAAR (GETPROP File 'FILEDATES))
                                      (GETPROP File 'FileDate]
               (if (AND ThisFileDate (GREATERP (IDATE ThisFileDate)
                                            (IDATE NC.SystemDate)))
                   then (SETQ NC.SystemDate ThisFileDate)
                        (PUTPROP 'NC.SystemDate 'NewestFile File])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(NC.SetSystemDate)

(NC.SendNCStartedMessage " loadup")
)

(PUTPROPS NOTECARDS FILETYPE :TCOMPL)

(PUTPROPS NOTECARDS MAKEFILE-ENVIRONMENT (:PACKAGE "IL" :READTABLE "INTERLISP" :BASE 10))
(PUTPROPS NOTECARDS COPYRIGHT ("Xerox Corporation" 1986 1987 1988))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (4488 11545 (NC.SetUpNOTECARDSDIRECTORIES 4498 . 11543)) (12749 20206 (NC.FindFile 12759
 . 14900) (NC.LoadFileFromDirectories 14902 . 18828) (NC.LookupAutoloadFnFile 18830 . 19223) (
NC.StoreAutoloadFnFile 19225 . 19643) (SIMPLE-FILENAME 19645 . 19996) (SIMPLE-LOADEDFILELST 19998 . 
20204)) (20421 24411 (NC.SendNCStartedMessage 20431 . 21459) (NC.PostGreet 21461 . 24409)) (24564 
25267 (NC.MakeLafiteForm 24574 . 25265)) (25560 29434 (NC.Setup 25570 . 29432)) (29722 30556 (
NC.SetSystemDate 29732 . 30554)))))
STOP