diff --git a/docs/NoteCardsUserGuidev1.2.PDF b/docs/NoteCardsUserGuidev1.2.PDF new file mode 100644 index 0000000..065caea Binary files /dev/null and b/docs/NoteCardsUserGuidev1.2.PDF differ diff --git a/docs/demo/05-NOTECARDS-BASICS.TEDIT b/docs/demo/05-NOTECARDS-BASICS.TEDIT new file mode 100644 index 0000000..c4ccbfa Binary files /dev/null and b/docs/demo/05-NOTECARDS-BASICS.TEDIT differ diff --git a/docs/demo/INTRO.NOTEFILE b/docs/demo/INTRO.NOTEFILE new file mode 100644 index 0000000..41442e2 Binary files /dev/null and b/docs/demo/INTRO.NOTEFILE differ diff --git a/docs/demo/NC-DOCUMENTATION.NOTEFILE b/docs/demo/NC-DOCUMENTATION.NOTEFILE new file mode 100644 index 0000000..641aa42 Binary files /dev/null and b/docs/demo/NC-DOCUMENTATION.NOTEFILE differ diff --git a/docs/demo/NCDEMO.SUITE b/docs/demo/NCDEMO.SUITE new file mode 100644 index 0000000..8d0137e Binary files /dev/null and b/docs/demo/NCDEMO.SUITE differ diff --git a/docs/demo/NCTOUR.NOTEFILE b/docs/demo/NCTOUR.NOTEFILE new file mode 100644 index 0000000..4159191 Binary files /dev/null and b/docs/demo/NCTOUR.NOTEFILE differ diff --git a/docs/fixed-envos/05-NOTECARDS-BASICS.TEDIT b/docs/fixed-envos/05-NOTECARDS-BASICS.TEDIT new file mode 100644 index 0000000..c4ccbfa Binary files /dev/null and b/docs/fixed-envos/05-NOTECARDS-BASICS.TEDIT differ diff --git a/docs/fixed-envos/05-NOTECARDS-BASICS1.TEDIT b/docs/fixed-envos/05-NOTECARDS-BASICS1.TEDIT new file mode 100644 index 0000000..95d340f Binary files /dev/null and b/docs/fixed-envos/05-NOTECARDS-BASICS1.TEDIT differ diff --git a/docs/fixed-envos/05-NOTECARDS-BASICS2.TEDIT b/docs/fixed-envos/05-NOTECARDS-BASICS2.TEDIT new file mode 100644 index 0000000..57cb3db Binary files /dev/null and b/docs/fixed-envos/05-NOTECARDS-BASICS2.TEDIT differ diff --git a/docs/fixed-envos/1186-NoteCards-1.2.NOtefiles.TEdit b/docs/fixed-envos/1186-NoteCards-1.2.NOtefiles.TEdit new file mode 100644 index 0000000..45c19f3 Binary files /dev/null and b/docs/fixed-envos/1186-NoteCards-1.2.NOtefiles.TEdit differ diff --git a/docs/fixed-envos/1186-NoteCards-1.2.sysout.TEdit b/docs/fixed-envos/1186-NoteCards-1.2.sysout.TEdit new file mode 100644 index 0000000..81f6bf9 Binary files /dev/null and b/docs/fixed-envos/1186-NoteCards-1.2.sysout.TEdit differ diff --git a/docs/fixed-envos/21-STREAMS.NOTEFILE b/docs/fixed-envos/21-STREAMS.NOTEFILE new file mode 100644 index 0000000..a78da7b Binary files /dev/null and b/docs/fixed-envos/21-STREAMS.NOTEFILE differ diff --git a/docs/fixed-envos/386-NoteCards-Demo-Tape.TEdit b/docs/fixed-envos/386-NoteCards-Demo-Tape.TEdit new file mode 100644 index 0000000..4db62cf Binary files /dev/null and b/docs/fixed-envos/386-NoteCards-Demo-Tape.TEdit differ diff --git a/docs/fixed-envos/386-NoteCards-Tape.TEdit b/docs/fixed-envos/386-NoteCards-Tape.TEdit new file mode 100644 index 0000000..19058cb Binary files /dev/null and b/docs/fixed-envos/386-NoteCards-Tape.TEdit differ diff --git a/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS.TEDIT b/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS.TEDIT new file mode 100644 index 0000000..e157b0b --- /dev/null +++ b/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS.TEDIT @@ -0,0 +1,11 @@ +1 ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION 1 ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A NOTEFILE CONCEPTS 6 This document provides a brief explanation of the structure of notefiles. It also describes how checkpointing, aborting, and recovering a notefile after a crash work. Finally, it describes the use of Inspect & Repair to repair a notefile with inconsistent links. For additional information see Appendix B, The Notefile Inspector. Note: The information in this appendix was copied whole from the documentation for a prerelease of NoteCards and has not yet been updated for this release. As such, it may be inaccurate in places. 2 Background Concepts 1 Unique identifiers: UIDs 1 All objects in NoteCards (i.e., cards, links, notefiles) are assigned a unique identifier called a UID. Each UID is a 112-bit number that is guaranteed to be unique across all time and space. UIDs are used in many places in NoteCards as keys for indexing and retrieving cards, links, and notefiles. Card parts 1 For storage purposes a note card is decomposed into 4 independent parts: contents, title, property list, and links. Each of these parts is stored separately in the data area of the notefile. This is discussed in the Notefile Structure section below. When a card is saved, only those card parts that have changed are rewritten in the notefile. The contents of the card are stored on the notefile in a manner appropriate to its type. Thus a Text card's content is a text stream and is written on the notefile exactly the way TEdit writes out text streams (i.e., text followed by "looks" information). In contrast, all titles are stored as strings and all property lists as standard Lisp lists. Storage of Links is described in Section 4 below. 2 Notefile Structure: index and data areas 1 A notefile consists of three parts, a header, an index, and a data area. The header and the index are fixed in size for each notefile. The data area follows the index area and grows as cards are added to or modified in the notefile. The notefile header contains the following information about the notefile: its UID, a number identifying its format, the checkpoint pointer, the size of the index, and a pointer to the next available index entry. If the notefile header is destroyed, it cannot be automatically reconstructed. Careful hand manipulation of the notefile by a NoteCards wizard is required to recover a notefile with a bad header. The structure of the index and data area is shown in Figure A-1 . The index contains a fixed number of index entries. Each index entry that is in use, contains information for one of the cards in the notefile. Specifically, an index entry contains 5 fields: a status character, the card's UID, and 4 pointers. The status character specifies whether the index entry is free (not in use) or contains information for an active or a deleted card. If the index entry is not free, the UID field contains the UID of the card refered to by this index entry and the four pointer fields contain the location in the data area of the 4 parts of its card: contents, title, links and property list. The number of index entries is fixed at notefile creation time. The default is 1000 entries. The number of index entries is automatically doubled by the notefile compactor if 75% of the entries are used. The compactor also frees (i.e., makes unused) all of the index entries that refer to deleted cards. In normal operation, NoteCards prints a warning whenever more than 90% of the index entries in a notefile are used. At this point, the notefile should be compacted to increase the index size. The data area contains the actual information about the card. Whenever you change, say, the title of a card, the new title is written at the end of the data area. The title pointer in the card's index entry is then updated to point to this new location in the data area. Thus, in general, a notefile's data area grows every time any part of any card is changed. The old information, now somewhere in the middle of the data area, is not removed. However, it is no longer directly accessible because there is no index entry that points to it. Thus, for most purposes this old information can be considered "dead space" in the notefile. The notefile compactor rewrites the notefile, eliminating all such dead space. ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (73 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (LINE 18.0 15) NIL LAST (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1.0 NIL)) ((0.168 152.0 (PRI 1)) (BOX (240.0 16.0 168.0 304.0) (ROUND 1 BLACK) NIL 1.0 (NIL NIL NIL))) ((0.024 84.0 (PRI 8)) (TEXTBOX (240.0 296.0 168.0 24.0) ("Notefile Header") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 302.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 37)) (TEXTBOX (240.0 144.0 96.0 32.0) ("Card A " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 160.0 42 12) (260.0 148.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 248.0 168.0 24.0) ("Index Entry #2") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 254.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 272.0 168.0 24.0) ("Index Entry #1") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 278.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 96.0 (PRI 48)) (TEXTBOX (40.0 200.0 192.0 24.0) (" Active: UID: | | | | ") 1.0 (LEFT CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((42.0 206.0 203 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 176.0) (408.0 . 176.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 175.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 176.0 168.0 24.0) ("Index Entry #N") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 182.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 200.0) (408.0 . 200.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 199.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 200.0 168.0 24.0) ("...") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((313.5 206.0 21 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 224.0 168.0 24.0) (" Index Entry #3") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 230.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 248.0) (408.0 . 248.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 247.0 170.0 2.0) NIL)) ((0.032 48.0 (PRI 41)) (TEXTBOX (240.0 80.0 96.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 96.0 42 12) (270.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 34)) (WIRE ((240.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 111.0 170.0 2.0) NIL)) ((0.0 4.0 (PRI 35)) (WIRE ((408.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (407.0 111.0 2.0 2.0) NIL)) ((0.032 36.0 (PRI 42)) (TEXTBOX (336.0 80.0 72.0 32.0) ("Card B " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 96.0 42 12) (354.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 16.0 (PRI 36)) (WIRE ((312.0 . 144.0) (312.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (311.0 111.0 2.0 34.0) NIL)) ((0.032 36.0 (PRI 39)) (TEXTBOX (240.0 112.0 72.0 32.0) ("Card A " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((251.5 128.0 49 12) (258.5 116.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 48.0 (PRI 31)) (WIRE ((240.0 . 144.0) (336.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 143.0 98.0 2.0) NIL)) ((0.0 40.0 (PRI 33)) (WIRE ((328.0 . 144.0) (408.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (327.0 143.0 82.0 2.0) NIL)) ((0.032 48.0 (PRI 40)) (TEXTBOX (312.0 112.0 96.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((339.0 128.0 42 12) (332.0 116.0 56 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.032 36.0 (PRI 38)) (TEXTBOX (336.0 144.0 72.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 160.0 42 12) (354.5 148.0 35 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 272.0) (408.0 . 272.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 271.0 170.0 2.0) NIL)) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 296.0) (408.0 . 296.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 295.0 170.0 2.0) NIL)) ((0.0 48.0 (PRI 53)) (WIRE ((144.0 . 208.0) (144.0 . 160.0) (240.0 . 160.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (143.0 159.0 98.0 50.0) (NIL ((240.0 . 160.0) (227.63626 . 155.98277) (227.63626 . 164.01723))))) ((0.0 4.0 (PRI 55)) (WIRE ((144.0 . 208.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 15.0) T) NIL 1.0 (143.0 207.0 2.0 2.0) (NIL NIL))) ((0.0 56.0 (PRI 56)) (WIRE ((168.0 . 208.0) (168.0 . 96.0) (240.0 . 96.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (167.0 95.0 74.0 114.0) (NIL ((240.0 . 96.0) (227.63626 . 91.98278) (227.63626 . 100.01722))))) ((0.0 40.0 (PRI 57)) (WIRE ((200.0 . 208.0) (200.0 . 128.0) (240.0 . 128.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (199.0 127.0 42.0 82.0) (NIL ((240.0 . 128.0) (227.63626 . 123.98278) (227.63626 . 132.01723))))) ((0.032 36.0 (PRI 60)) (TEXTBOX (336.0 16.0 72.0 32.0) ("Card D " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 32.0 42 12) (354.5 20.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 84.0 (PRI 58)) (TEXTBOX (240.0 48.0 168.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((303.0 64.0 42 12) (296.0 52.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 59)) (TEXTBOX (240.0 16.0 96.0 32.0) ("Card A " "Prop" "List") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 38.0 42 12) (274.0 26.0 28 12) (274.0 14.0 28 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 88.0 (PRI 61)) (WIRE ((224.0 . 208.0) (224.0 . 32.0) (240.0 . 32.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (223.0 31.0 18.0 178.0) (NIL ((240.0 . 32.0) (227.63626 . 27.98278) (227.63626 . 36.01722))))) ((0.05 12.0 (PRI 62)) (TEXT (136.0 . 240.0) ("Index Entry for Card A") 1.0 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((59.0 237.0 154.0 12.0)) BLACK)) ((0.041 44.0 (PRI 71)) (GROUP (48.0 72.0 88.0 41.0) (((0.05 12.0 (PRI 65)) (TEXT (88.0 . 104.0) ("Legend") 1.0 (CENTER BASELINE) (GACHA 10 (BOLD REGULAR REGULAR)) ((67.0 101.0 42.0 12.0)) BLACK)) ((0.024 44.0 (PRI 67)) (TEXTBOX (48.0 72.0 88.0 24.0) ("Dead Space") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((57.0 78.0 70 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL)))) (96 . 96))) ((0.061 142.0 (PRI 72)) (GROUP (414.0 14.0 61.0 284.0) (((0.0 4.0 (PRI 21)) (WIRE ((416.0 . 296.0) (424.0 . 296.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 60.0 (PRI 22)) (WIRE ((424.0 . 296.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 23)) (WIRE ((416.0 . 176.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 24)) (WIRE ((424.0 . 240.0) (432.0 . 240.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 25)) (TEXT (440.0 . 232.0) ("Index" "") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 235.0 35.0 12.0) (440.0 223.0 0.0 12.0)) BLACK)) ((0.0 80.0 (PRI 26)) (WIRE ((424.0 . 176.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 27)) (WIRE ((416.0 . 16.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 28)) (WIRE ((424.0 . 96.0) (432.0 . 96.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 30)) (TEXT (440.0 . 96.0) ("Data " "Area") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 99.0 35.0 12.0) (440.0 87.0 28.0 12.0)) BLACK))) (440 . 160)))) (37.0 9.0 439.0 330.0) 1.0 8 Figure A-1. The structure of a notefile. As long as the notefile has not been compacted, all the old information can be accessed (and made to be "current") via the notefile Inspect and Repair facility. Inspect and Repair does this by ignoring the index and parsing the entire data area to produce a listing of all the information (both current and old) about a card that is stored on the data area. See the Inspect and Repair manual for more information. 2 Notefile Checkpointing 1 As long as a notefile is open, its index area is cached in memory. When a card part is saved, the card part's information is written to the end of the data area but the card's actual index entry on the notefile is not updated with this new location. Instead, the appropriate pointer in the card's in-memory index entry is updated. Thus, the index in the notefile continues to point to the old information in the data area, while the in-memory index points to the new information. Thus while a notefile is open, its current state is distributed between the actual notefile and information cached in memory. The current index is cached in memory. For cards open on the screen (or cached in memory from the programmer's interface), the "current" card part information is contained in an in-memory cache. For all other cards, the current information is contained in the data area of the notefile pointed to by the in-memory index entry. If a machine crashes while a notefile is open, the information cached in memory is lost. A crash not only discards changes made to cards on the screen, but its also leaves the information stored on the notefile in an inconsistent state. For example, the index on the notefile may point to old information in the data area. This occurs because the new information (e.g., a new title) is written to the data area but only the in-memory index pointers (which are lost in the crash) have been updated to point to the new information. Checkpointing forces all of the in-memory information to be written onto the notefile. Specifically, checkpointing causes all open cards to be saved and the in-memory index to be written to the notefile's index area. Thus, immediately after checkpointing, the notefile itself contains its current (and consistent) state. If the machine were to crash at this point, no information would be lost and the notefile would be consistent. Checkpointing also writes a checkpoint pointer onto the notefile header. The checkpoint pointer contains the location of the end of the data area (i.e., the end of the notefile) at the time the checkpoint is done. As the notefile is used after the checkpoint, information is written in the data area past the checkpoint pointer but only the in-memory index entries are updated to point to this information. The on-file index entries still point to the information in the data area before the location referenced by the checkpoint pointer. Thus, a consistent notefile can be constructed from the index area and all of the information in the data area located before the checkpoint location. This is essentially the notefile as it was at the time of the last checkpoint. (Note: one small exception is that changes to a card's size on the screen are actually written in the middle of the data area rather than at the end. Thus, truncating a notefile to its checkpoint location cannot "undo" the reshaping of a card.) When opening a notefile after a crash, the system will insure that the notefile is in a consistent state. It does so by truncating the data area to the last checkpoint location, saving the truncated information if requested by the user. This leaves the notefile in the state it was during the last checkpoint before the crash. Aborting a notefile does the same thing. It truncates the data area to the last checkpoint location, thereby eliminating all changes made to the notefile since the last checkpoint. It also discards the in-memory index. Thus, the notefile is left in the exact state it was after the last checkpoint. Finally, note that notefile Close forces a checkpoint. Therefore, aborts and recovery after crashes actually restore the NoteFIle to its state as of the last user-initiated checkpoint or close. 2 Storing links and reparing notefiles with inconsistent links 1 The links card part is divided into three subcomponents: to-links, from-links, and global links. The to-links is a list of all links whose Source is the given card (i.e., that point from the card to some other card). The from-links is a list of links whose Destination is the given card (i.e., that point from some other card to the given card). Finally, the global links is a subset of the to-links that includes only the Global links originating in the given card. Given this scheme, every link is stored on the notefile in three different places. First, if the link is Local it is stored inside the link icon which in turn is inside the content part of the link's source card. If the link is global, it is stored in the global links subpart of its source card. Second, the link is stored in the to-links list of its source card. Third, the link is stored in the from-links list of its destination card. These three records of the same link occasionally get out of synch, resulting in an inconsistent notefile. There are a number of symptoms of such inconsistency. For example, the ShowLinks display for card may indicate that the card is a destination for a link from some source card X while the ShowLinks display for X does not include a ToLink to that destination card. Occasionally, inconsistent links will also result in link icons that contain the words "DELETED" or "FREE" when displayed on the screen. This usually means that the card at one end of a link was deleted, but somehow the links of the card at the other end were not updated. Such link icons cause NoteCards to break when you try to follow them. One function of the NoteCards Inspect & Repair facility is to resynchronize the three records for all links in the notefile. The inspector's third phase rebuilds the links as follows. First it removes all to- and from-links for every card. Then it reads the contents for each card and recreates to-links and from-links by looking at the links found inside the link icons in the card's content and in its global links list. In addition, the links rebuilder phase of the notefile inspector can rebuild filebox contents from cards pointed to by the filebox, and the set of all link types from the list of all links. [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))-T,-T-2T-T-T,3T-TF PAGEHEADING VERSOHEADF PAGEHEADING RECTOHEADE PAGEHEADINGFOOTINGVE PAGEHEADINGFOOTINGR,MODERN MODERNMODERN +MODERN +MODERNMODERN +  HRULE.GETFNMODERN + 3  HRULE.GETFNMODERN + 3   HRULE.GETFNMODERN + + + HRULE.GETFNMODERN +  HRULE.GETFNMODERNs HRULE.GETFNMODERN HRULE.GETFNMODERN HRULE.GETFNMODERN .  HRULE.GETFNMODERN Z HRULE.GETFNMODERN) HRULE.GETFNMODERNBpmd  SKIO.GETFN.2MODERN +* HRULE.GETFNMODERN HRULE.GETFNMODERN J. HRULE.GETFNMODERN= HRULE.GETFNMODERN <%Kz \ No newline at end of file diff --git a/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS1.TEDIT b/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS1.TEDIT new file mode 100644 index 0000000..0f53f4b --- /dev/null +++ b/docs/fixed-envos/APP-A-NOTEFILE-CONCEPTS1.TEDIT @@ -0,0 +1,13 @@ +1 NoteCards User's Guide, Release 2.0 1 NoteCards User's Guide, Release 2.0 APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A - NOTEFILE CONCEPTS 6 This document provides a brief explanation of the structure of notefiles. It also describes how checkpointing, aborting, and recovering a notefile after a crash work. Finally, it describes the use of Inspect & Repair to repair a notefile with inconsistent links. For additional information see Appendix C, Notefile Inspector. Background Concepts 1 Unique Identifiers: UIDs(UIDS NIL UIDs NIL NIL 193) All objects in NoteCards(NOTECARDS NIL NoteCards NIL NIL 193 SUBTEXT unique% identifiers) (i.e., cards, links, notefiles) are assigned a unique identifier called a UID(NOTECARDS NIL NoteCards NIL NIL 193 SUBTEXT UIDs). Each UID is a 112-bit number that is guaranteed to be unique across all time and space. UIDs are used in many places in NoteCards as keys for indexing and retrieving cards, links, and notefiles. Card(CARDS NIL Cards NIL NIL 193 SUBTEXT parts) Parts For storage purposes a note card is decomposed into four independent parts: contents, title, property list, and links. Each of these parts is stored separately in the data area of the notefile. This is discussed in the Notefile Structure section below. When a card is saved, only those card parts that have changed are rewritten in the notefile. The contents of the card are stored on the notefile in a manner appropriate to its type. Thus a Text card's content is a text stream and is written on the notefile exactly the way TEdit writes out text streams (i.e., text followed by "looks" information). In contrast, all titles are stored as strings and all property lists as standard Lisp lists. Storage of Links is described in the last section in this chapter. Notefile(NOTEFILE NIL Notefile NIL NIL 193 SUBTEXT structure) Structure: Index(INDEX NIL Index NIL NIL 193) and Data Areas(DATA% AREA NIL Data% Area NIL NIL 193) 1 A notefile consists of three parts, a header, an index, and a data area. The header and the index are fixed in size for each notefile. The data area follows the index area and grows as cards are added to or modified in the notefile. The notefile(NOTEFILE NIL Notefile NIL NIL 193 SUBTEXT header) header contains the following information about the notefile: its UID, a number identifying its format, the checkpoint pointer, the size of the index, and a pointer to the next available index entry. If the notefile header is destroyed, it cannot be automatically reconstructed. Careful hand manipulation of the notefile by a NoteCards wizard is required to recover a notefile with a bad header. The structure of the index and data area is shown in Figure A-1 . The index contains a fixed number of index entries. Each index entry that is in use, contains information for one of the cards in the notefile. Specifically, an index entry contains 5 fields: a status character, the card's UID, and 4 pointers. The status character specifies whether the index entry is free (not in use) or contains information for an active or a deleted card. If the index entry is not free, the UID field contains the UID of the card referred to by this index entry and the four pointer fields contain the location in the data area of the 4 parts of its card: contents, title, links and property list. The number of index entries is fixed at notefile creation time. The default is 1000 entries. The number of index entries is automatically doubled by the notefile compactor if 75% of the entries are used. The compactor also frees (i.e., makes unused) all of the index entries that refer to deleted cards. In normal operation, NoteCards prints a warning whenever more than 90% of the index entries in a notefile are used. At this point, the notefile should be compacted to increase the index size. The data area contains the actual information about the card. Whenever you change, say, the title of a card, the new title is written at the end of the data area. The title pointer in the card's index entry is then updated to point to this new location in the data area. Thus, in general, a notefile's data area grows every time any part of any card is changed. The old information, now somewhere in the middle of the data area, is not removed. However, it is no longer directly accessible because there is no index entry that points to it. Thus, for most purposes this old information can be considered "dead space" in the notefile. The notefile compactor rewrites the notefile, eliminating all such dead space. ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (73 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (LINE 18.0 15) NIL LAST (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1.0 NIL)) ((0.168 152.0 (PRI 1)) (BOX (240.0 16.0 168.0 304.0) (ROUND 1 BLACK) NIL 1.0 (NIL NIL NIL))) ((0.024 84.0 (PRI 8)) (TEXTBOX (240.0 296.0 168.0 24.0) ("Notefile Header") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 302.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 37)) (TEXTBOX (240.0 144.0 96.0 32.0) ("Card A " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 160.0 42 12) (260.0 148.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 248.0 168.0 24.0) ("Index Entry #2") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 254.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 272.0 168.0 24.0) ("Index Entry #1") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 278.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 96.0 (PRI 48)) (TEXTBOX (40.0 200.0 192.0 24.0) (" Active: UID: | | | | ") 1.0 (LEFT CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((42.0 206.0 203 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 176.0) (408.0 . 176.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 175.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 176.0 168.0 24.0) ("Index Entry #N") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 182.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 200.0) (408.0 . 200.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 199.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 200.0 168.0 24.0) ("...") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((313.5 206.0 21 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 224.0 168.0 24.0) (" Index Entry #3") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 230.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 248.0) (408.0 . 248.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 247.0 170.0 2.0) NIL)) ((0.032 48.0 (PRI 41)) (TEXTBOX (240.0 80.0 96.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 96.0 42 12) (270.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 34)) (WIRE ((240.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 111.0 170.0 2.0) NIL)) ((0.0 4.0 (PRI 35)) (WIRE ((408.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (407.0 111.0 2.0 2.0) NIL)) ((0.032 36.0 (PRI 42)) (TEXTBOX (336.0 80.0 72.0 32.0) ("Card B " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 96.0 42 12) (354.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 16.0 (PRI 36)) (WIRE ((312.0 . 144.0) (312.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (311.0 111.0 2.0 34.0) NIL)) ((0.032 36.0 (PRI 39)) (TEXTBOX (240.0 112.0 72.0 32.0) ("Card A " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((251.5 128.0 49 12) (258.5 116.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 48.0 (PRI 31)) (WIRE ((240.0 . 144.0) (336.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 143.0 98.0 2.0) NIL)) ((0.0 40.0 (PRI 33)) (WIRE ((328.0 . 144.0) (408.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (327.0 143.0 82.0 2.0) NIL)) ((0.032 48.0 (PRI 40)) (TEXTBOX (312.0 112.0 96.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((339.0 128.0 42 12) (332.0 116.0 56 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.032 36.0 (PRI 38)) (TEXTBOX (336.0 144.0 72.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 160.0 42 12) (354.5 148.0 35 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 272.0) (408.0 . 272.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 271.0 170.0 2.0) NIL)) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 296.0) (408.0 . 296.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 295.0 170.0 2.0) NIL)) ((0.0 48.0 (PRI 53)) (WIRE ((144.0 . 208.0) (144.0 . 160.0) (240.0 . 160.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (143.0 159.0 98.0 50.0) (NIL ((240.0 . 160.0) (227.63626 . 155.98277) (227.63626 . 164.01723))))) ((0.0 4.0 (PRI 55)) (WIRE ((144.0 . 208.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 15.0) T) NIL 1.0 (143.0 207.0 2.0 2.0) (NIL NIL))) ((0.0 56.0 (PRI 56)) (WIRE ((168.0 . 208.0) (168.0 . 96.0) (240.0 . 96.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (167.0 95.0 74.0 114.0) (NIL ((240.0 . 96.0) (227.63626 . 91.98278) (227.63626 . 100.01722))))) ((0.0 40.0 (PRI 57)) (WIRE ((200.0 . 208.0) (200.0 . 128.0) (240.0 . 128.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (199.0 127.0 42.0 82.0) (NIL ((240.0 . 128.0) (227.63626 . 123.98278) (227.63626 . 132.01723))))) ((0.032 36.0 (PRI 60)) (TEXTBOX (336.0 16.0 72.0 32.0) ("Card D " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 32.0 42 12) (354.5 20.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 84.0 (PRI 58)) (TEXTBOX (240.0 48.0 168.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((303.0 64.0 42 12) (296.0 52.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 59)) (TEXTBOX (240.0 16.0 96.0 32.0) ("Card A " "Prop" "List") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 38.0 42 12) (274.0 26.0 28 12) (274.0 14.0 28 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 88.0 (PRI 61)) (WIRE ((224.0 . 208.0) (224.0 . 32.0) (240.0 . 32.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (223.0 31.0 18.0 178.0) (NIL ((240.0 . 32.0) (227.63626 . 27.98278) (227.63626 . 36.01722))))) ((0.05 12.0 (PRI 62)) (TEXT (136.0 . 240.0) ("Index Entry for Card A") 1.0 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((59.0 237.0 154.0 12.0)) BLACK)) ((0.041 44.0 (PRI 71)) (GROUP (48.0 72.0 88.0 41.0) (((0.05 12.0 (PRI 65)) (TEXT (88.0 . 104.0) ("Legend") 1.0 (CENTER BASELINE) (GACHA 10 (BOLD REGULAR REGULAR)) ((67.0 101.0 42.0 12.0)) BLACK)) ((0.024 44.0 (PRI 67)) (TEXTBOX (48.0 72.0 88.0 24.0) ("Dead Space") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((57.0 78.0 70 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL)))) (96 . 96))) ((0.061 142.0 (PRI 72)) (GROUP (414.0 14.0 61.0 284.0) (((0.0 4.0 (PRI 21)) (WIRE ((416.0 . 296.0) (424.0 . 296.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 60.0 (PRI 22)) (WIRE ((424.0 . 296.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 23)) (WIRE ((416.0 . 176.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 24)) (WIRE ((424.0 . 240.0) (432.0 . 240.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 25)) (TEXT (440.0 . 232.0) ("Index" "") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 235.0 35.0 12.0) (440.0 223.0 0.0 12.0)) BLACK)) ((0.0 80.0 (PRI 26)) (WIRE ((424.0 . 176.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 27)) (WIRE ((416.0 . 16.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 28)) (WIRE ((424.0 . 96.0) (432.0 . 96.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 30)) (TEXT (440.0 . 96.0) ("Data " "Area") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 99.0 35.0 12.0) (440.0 87.0 28.0 12.0)) BLACK))) (440 . 160)))) (37.0 9.0 439.0 330.0) 1.0 8 Figure A-1. Structure of a Notefile As long as the notefile has not been compacted, all the old information can be accessed (and made to be "current") via the notefile Inspect and Repair facility. Inspect and Repair does this by ignoring the index and parsing the entire data area to produce a listing of all the information (both current and old) about a card that is stored on the data area. See the Inspect and Repair manual for more information. Notefile(NOTEFILE NIL Notefile NIL NIL 195 SUBTEXT checkpointing) Checkpointing(CHECKPOINTING NIL Checkpointing NIL NIL 195) 1 As long as a notefile is open, its index area is cached in memory. When a card part is saved, the card part's information is written to the end of the data area but the card's actual index entry on the notefile is not updated with this new location. Instead, the appropriate pointer in the card's in-memory index entry is updated. Thus, the index in the notefile continues to point to the old information in the data area, while the in-memory index points to the new information. Thus while a notefile is open, its current state is distributed between the actual notefile and information cached in memory. The current index is cached in memory. For cards open on the screen (or cached in memory from the programmer's interface), the "current" card part information is contained in an in-memory cache. For all other cards, the current information is contained in the data area of the notefile pointed to by the in-memory index entry. If a machine crashes while a notefile is open, the information cached in memory is lost. A crash not only discards changes made to cards on the screen, but its also leaves the information stored on the notefile in an inconsistent state. For example, the index on the notefile may point to old information in the data area. This occurs because the new information (e.g., a new title) is written to the data area but only the in-memory index pointers (which are lost in the crash) have been updated to point to the new information. Checkpointing forces all of the in-memory information to be written onto the notefile. Specifically, checkpointing causes all open cards to be saved and the in-memory index to be written to the notefile's index area. Thus, immediately after checkpointing, the notefile itself contains its current (and consistent) state. If the machine were to crash at this point, no information would be lost and the notefile would be consistent. Checkpointing also writes a checkpoint pointer onto the notefile header. The checkpoint pointer contains the location of the end of the data area (i.e., the end of the notefile) at the time the checkpoint is done. As the notefile is used after the checkpoint, information is written in the data area past the checkpoint pointer but only the in-memory index entries are updated to point to this information. The on-file index entries still point to the information in the data area before the location referenced by the checkpoint pointer. Thus, a consistent notefile can be constructed from the index area and all of the information in the data area located before the checkpoint location. This is essentially the notefile as it was at the time of the last checkpoint. (Note: one small exception is that changes to a card's size on the screen are actually written in the middle of the data area rather than at the end. Thus, truncating a notefile to its checkpoint location cannot "undo" the reshaping of a card.) When opening a notefile after a crash, the system will insure that the notefile is in a consistent state. It does so by truncating the data area to the last checkpoint location, saving the truncated information if requested by the user. This leaves the notefile in the state it was during the last checkpoint before the crash. Aborting a notefile does the same thing. It truncates the data area to the last checkpoint location, thereby eliminating all changes made to the notefile since the last checkpoint. It also discards the in-memory index. Thus, the notefile is left in the exact state it was after the last checkpoint. Finally, note that notefile Close forces a checkpoint. Therefore, aborts and recovery after crashes actually restore the NoteFIle to its state as of the last user-initiated checkpoint or close. Storing Links(LINKS NIL Links NIL NIL 196 SUBTEXT storing) and Repairing Notefiles(NOTEFILES NIL Notefiles NIL NIL 196 SUBTEXT repairing% inconsistent% links) with Inconsistent Links 1 The links card part is divided into three subcomponents: to-links, from-links, and global links. The to-links is a list of all links whose Source is the given card (i.e., that point from the card to some other card). The from-links is a list of links whose Destination is the given card (i.e., that point from some other card to the given card). Finally, the global links is a subset of the to-links that includes only the Global links originating in the given card. Given this scheme, every link is stored on the notefile in three different places. First, if the link is Local it is stored inside the link icon which in turn is inside the content part of the link's source card. If the link is global, it is stored in the global links subpart of its source card. Second, the link is stored in the to-links list of its source card. Third, the link is stored in the from-links list of its destination card. These three records of the same link occasionally get out of synch, resulting in an inconsistent notefile. There are a number of symptoms of such inconsistency. For example, the ShowLinks display for card may indicate that the card is a destination for a link from some source card X while the ShowLinks display for X does not include a ToLink to that destination card. Occasionally, inconsistent links will also result in link icons that contain the words "DELETED" or "FREE" when displayed on the screen. This usually means that the card at one end of a link was deleted, but somehow the links of the card at the other end were not updated. Such link icons cause NoteCards to break when you try to follow them. One function of the NoteCards Inspect & Repair facility is to resynchronize the three records for all links in the notefile. The inspector's third phase rebuilds the links as follows. First it removes all to- and from-links for every card. Then it reads the contents for each card and recreates to-links and from-links by looking at the links found inside the link icons in the card's content and in its global links list. In addition, the links rebuilder phase of the notefile inspector can rebuild filebox contents from cards pointed to by the filebox, and the set of all link types from the list of all links. [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 193) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))).TT,HH-$$T-T,HH-T,HH +,HH-T,F PAGEHEADING VERSOHEADF PAGEHEADING RECTOHEADE PAGEHEADINGFOOTINGVE PAGEHEADINGFOOTINGR,  HELVETICA  HELVETICA HELVETICA HELVETICA +CLASSIC +CLASSIC CLASSIC +CLASSIC +CLASSICCLASSICMODERNMODERN + HRULE.GETFNMODERN + $  HRULE.GETFNMODERN +  $   HRULE.GETFNMODERN +    HRULE.GETFNMODERN +   HRULE.GETFNCLASSIC o HRULE.GETFNCLASSIC IM.INDEX.GETFNAIM.INDEX.GETFNN2IM.INDEX.GETFN+IM.INDEX.GETFN] 5IM.INDEX.GETFNIM.INDEX.GETFN'IM.INDEX.GETFN HRULE.GETFNCLASSIC  2IM.INDEX.GETFNBqmd +  SKIO.GETFN.2MODERN + % 9IM.INDEX.GETFN-IM.INDEX.GETFN HRULE.GETFNCLASSIC  J.  -IM.INDEX.GETFNLIM.INDEX.GETFN HRULE.GETFNCLASSIC  < % M"z \ No newline at end of file diff --git a/docs/fixed-envos/APP-B-NOTEFILE-INSPECTOR.TEDIT b/docs/fixed-envos/APP-B-NOTEFILE-INSPECTOR.TEDIT new file mode 100644 index 0000000..0da1d19 Binary files /dev/null and b/docs/fixed-envos/APP-B-NOTEFILE-INSPECTOR.TEDIT differ diff --git a/docs/fixed-envos/APP-C-NOTEFILE-INSPECTOR.TEDIT b/docs/fixed-envos/APP-C-NOTEFILE-INSPECTOR.TEDIT new file mode 100644 index 0000000..48e92b3 Binary files /dev/null and b/docs/fixed-envos/APP-C-NOTEFILE-INSPECTOR.TEDIT differ diff --git a/docs/fixed-envos/CALL-NOTE-MEANINGS.TEDIT b/docs/fixed-envos/CALL-NOTE-MEANINGS.TEDIT new file mode 100644 index 0000000..1201d90 Binary files /dev/null and b/docs/fixed-envos/CALL-NOTE-MEANINGS.TEDIT differ diff --git a/docs/fixed-envos/CH19-NOTES.TEDIT b/docs/fixed-envos/CH19-NOTES.TEDIT new file mode 100644 index 0000000..75e2924 --- /dev/null +++ b/docs/fixed-envos/CH19-NOTES.TEDIT @@ -0,0 +1 @@ +Notes on Chapter 19 #.
At read time, reads , evaluates it, and returns the value as the thing read. This is taken from CommonLoops. ($C name) is there only to make forward references to classes in a file work. Users shouldn't ever type in this form. They should use ($ name). #.($& ...) is how instances print out (when not prettyprinted). All that really matters is that read in correctly. If the object has a UID, it prints out as #.($& className uid). If not, it prints out as #.($& className (nnn . mmmm)) where nnn and mmmm are ugly numbers. This works because ($& ...) is a NLambda function that does the right thing. Again, users should never need to type in such a form. They only need to know about ($& ...) so they can make sense of what Loops prints out. Under ($ name) on the first page is the statement "...the value is returned to the exec, a DEFINST listing..." is misleading. The value returned is the instance. If you happen to have SYSPRETTYFLG set to T, this might be printed out as #.(DEFINST ...). There is also the statement "If name is a class, the functions returns the class name." Also false. It returns the class, which happens to print out as #.($ name). ObjectDontPPFlag is used internally by the system when prettyprinting objects to avoid recursive prettyprinting (see the comments in the chapter about infinite loops when printing objects). ObjectAlwaysPPFlag prevents ObjectDontPPFlag from having any effect. Personally, I can't see any use for this, and don't I suspect it shouldn't be documented. SYSPRETTYFLG does indeed effect the way that instances and classes are printed at the top level. If ObjectDontPPFlag = NIL, objects get prettyprinted at the top level if SYSPRETTYFLG is T. Note that ObjectAlwaysPPFlag = T overrides SYSPRETTYFLG = NIL, and ObjectDontPPFlag = T overrides SYSPRETTYFLG = T. (_ self PrintOn file) returns a form sutible for DEFPRINT. That's why it returns the rather bizzare list ("#." . ($ ...)). (_ self PP file) does set ObjectDontPPFlag to T, which works as long as nobody has set ObjectAlwaysPPFlag to T. ExplicitFnActiveValue This class of active values is around to mimic the old-style Loops activevalues that had a localState, getFn, and putFn. For some specialized applications, people might want a different class of active value to be used for this purpose. That's why the variable DefaultActiveValueClassName is around. AnnotatedValues and ActiveValues AnnotatedValues are a special datatype that is used to implement active values. They "wrap" instances of one of the active value classes. The Loops class AnnotatedValue is designed to give this new datatype some of the characteristics of Loops objects. (_ (fetch annotatedValue of av) AVPrintSource) gets sent to wrapped active value object (not the annotated value) to determine how the annotated value av will print. This is different from how the wrapped active value object prints. Try typing the following forms to the exec: (LET ((y ($A foo bar baz))) (PRINT (TYPENAME y)) (PRINT y) (PRINT (fetch annotatedValue of y)) NIL) (HasUID? obj) returns NIL if the object obj doesn't have a UID. It generates an error if obj is not an object. Try (HasUID? (_ ($ Object) New)). (UIDP x) does return the UID count number, but that is not important. The important thing is that it is NIL if x is not a UID, and true (= not NIL) if x is a UID. Things that don't need to be explicitly documented VARS: LoopsReadMacroChar FNS: PPC PrettyPrintClasssPrintClass PrttyClasses PPObjPretty PrintInstances PrintInstance PrettyPrintLoopsForm PrintDefInstances PrettyPrintInstance PrttyInstances PrintAnnotatedValue \ No newline at end of file diff --git a/docs/fixed-envos/Conversion-Notes.tedit b/docs/fixed-envos/Conversion-Notes.tedit new file mode 100644 index 0000000..f3caeb1 Binary files /dev/null and b/docs/fixed-envos/Conversion-Notes.tedit differ diff --git a/docs/fixed-envos/DEMO.NOTEFILE b/docs/fixed-envos/DEMO.NOTEFILE new file mode 100644 index 0000000..6d17cf9 Binary files /dev/null and b/docs/fixed-envos/DEMO.NOTEFILE differ diff --git a/docs/fixed-envos/MNW.NOTEFILE b/docs/fixed-envos/MNW.NOTEFILE new file mode 100644 index 0000000..4fae44d Binary files /dev/null and b/docs/fixed-envos/MNW.NOTEFILE differ diff --git a/docs/fixed-envos/NIST-Notecards-Temp-License.TEdit b/docs/fixed-envos/NIST-Notecards-Temp-License.TEdit new file mode 100644 index 0000000..af334af --- /dev/null +++ b/docs/fixed-envos/NIST-Notecards-Temp-License.TEdit @@ -0,0 +1 @@ +Temporary Software License Agreement This Temporary Software License Agreement (the "Agreement") is between ENVOS, a California corporation, 1157 San Antonio Road, mountain View, CA 94043 (ENVOS), and National Institute of Standards and Technology, located at Building 225, Room B226, Gaithersburg, MD 20899 (Licensee). 1. LICENSE ENVOS hereby grants to the Licensee a temporary, non-transferable and non- exclusive license (the Software License) to use the Notecards Runtime Version software package (object code, manuals, and other related materials) delivered to Licensee by ENVOS (the Licensed Software), upon the terms and conditions contained herein. The source code from which the object code of the Licensed Software is derived is specifically excluded from this Software License. 2. TERM This Agreement is effective as of the date of shipment of the Licensed Software to Licensee by ENVOS and shall remain in effect until March 1, 1991 unless terminated earlier pursuant to this Agreement. 3. LICENSE FEE There shall be no fee for this temporary Software License. 4. USE AND COPYING RESTRICTIONS a. Licensee shall install and use the Licensed Software on only one central processing unit (CPU), which is identified below: Manufacturer Model_No. Serial_No. Location After notice to ENVOS, Licensee may move a CPU to another location or cease using the Licensed Software on a current CPU and install the Licensed Software on a subsequent CPU; provided, however, that it shall not do so until it has erased or destroyed all of the Licensed Software contained in the computer memory or data storage apparatus of the first CPU. Any such notice shall state the new location of the CPU or the model number, serial number and location of the subsequent CPU. b. Once installed on a CPU, the Licensed Software may be used on that CPU by only one user at a time. c. Other than by installing it on a CPU, Licensee may copy the Licensed Software, in whole or in part, only twice, and only for backup or archive purposes. Each copy shall include in readable format any and all proprietary and copyright notices or markings contained on the Licensed Software provided by ENVOS. d. Licensee shall not decompile nor otherwise derive the source code of the Licensed Software. Licensee shall not permit anyone to use any portion of the Licensed Software (i) for the purpose of decompiling or otherwise deriving its source code or (ii) for purposes other than as authorized in this Agreement. e. Licensee may modify the Licensed Software and may merge it with other software only for its own use and only with a CPU. f. Licensee may develop applications and programs using the Licensed Software and such applications and programs shall be the property of Licensee. Licensee may distribute only those applications or programs that do not include any portion of the Licensed Software or any language translation thereof. 5. TERMINATION OF SOFTWARE LICENSE a. This Software License shall terminate: (i) on March 1, 1991 or (ii) on fifteen (15) days' prior notice by ENVOS if there is any default or breach by Licensee of any provision of this Agreement; or (iii) immediately, upon notice by ENVOS pursuant to the provisions of Paragraph 7b hereof. b. Upon any termination or this Agreement: (i) Licensee shall immediately discontinue use of the Licensed Software and within five (5) days of such termination shall deliver to ENVOS all Licensed Software and related materials furnished by ENVOS, together with all copies thereof, however obtained; (ii) Licensee shall immediately erase or destroy any part of Licensed Software contained in computer memory or data storage apparatus under the control of Licensee; (iii) Licensee shall immediately remove the Licensed Software from any modification or merged work; and (iv) Licensee shall warrant in writing to ENVOS within five (5) days of termination that the Licensed Software, related materials and all copies thereof, in whole or in part, in any form, have been returned to ENVOS, erased from computer memory or data storage apparatus or destroyed. 6. WARRANTY, DISCLAIMER AND LIMITATION OF LIABILITY a. ENVOS warrants that it has the right to grant a license to use the Licensed Software to Licensee and, further, that ENVOS has the right and power to enter into this Agreement. b. ENVOS makes no warranty whatsoever of the Licensed Software for the purposes of this Temporary Software License Agreement. Licensee accepts the Licensed Software as is. c. ENVOS HEREBY DISCLAIMS, AND LICENSEE HEREBY EXPRESSLY WAIVES, ANY AND ALL EXPRESS WARRANTIES OR REPRESENTATIONS OF ANY KIND OR NATURE, AND ANY AND ALL IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. LICENSEE AND ENVOS AGREE THAT THE LICENSED SOFTWARE DOES NOT CONSTITUTE CONSUMER GOODS FOR THE PURPOSES OF FEDERAL, STATE OR LOCAL LAWS. d. IN NO EVENT SHALL ENVOS BE LIABLE TO LICENSEE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES IN ANY WAY ARISING OUT OF OR RELATING TO THIS AGREEMENT, EVEN IF ENVOS SHALL HAVE BEEN INFORMED OF THE POSSIBILITY THEREOF. IN ADDITION, ENVOS'S LIABILITY TO LICENSEE FOR DIRECT DAMAGES ARISING OUT OF CONTRACT, NEGLIGENCE, STRICT LIABILITY IN TORT OR WARRANTY OR OTHERWISE RELATING TO THIS AGREEMENT SHALL BE LIMITED TO THE AMOUNT OF $5,000.00. 7. PATENT AND COPYRIGHT INDEMNIFICATIONS a. ENVOS agrees, at its own expense, to defend Licensee in any suit, claim or proceeding brought against Licensee alleging that Licensed Software infringes a United States patent and/or a United States copyright, or violates a domestic trade secret right of a third party, provided that Licensee (i) promptly notifies ENVOS in writing of such suit, claim, or proceeding, (ii) gives ENVOS full information and assistance required to defend such suit, claim or proceeding, (iii) allows ENVOS to direct the defense of such suit, claim or proceeding, and (iv) allows ENVOS to pay any judgment of a court of last resort; provided, however, that ENVOS shall have no liability for settlements or costs incurred without its consent; and provided, further, that ENVOS shall have no liability to Licensee in any suit, claim or proceeding brought against Licensee in which and to the extent that (i) the alleged infringement arises from any modification of the Licensed Software as originally supplied by ENVOS or from the use of other software with the Licensed Software, and (ii) the claim for such infringement would have been avoided if such other software had not been used. b. If Licensee's use of Licensed Software is enjoined, or if ENVOS desires to minimize its liabilities hereunder, ENVOS will have the right, at its sole option, either to substitute other equally suitable software, to modify the Licensed Software so that it no longer infringes or to obtain for Licensee the right to continue its use. If, in ENVOS's sole opinion, none of the foregoing is reasonably possible, then ENVOS may terminate this License immediately upon notice to Licensee. Upon such termination Licensee shall satisfy the provisions set forth in Paragraph 5b above. c. THE OBLIGATION OF ENVOS UNDER THIS SECTION 7 SHALL BE THE SOLE LIABILITY OF ENVOS TO LICENSEE IF THERE IS ANY SUIT, CLAIM, OR PROCEEDING BROUGHT AGAINST LICENSEE ALLEGING THAT THE LICENSED SOFTWARE INFRINGES ANY PATENT AND/OR A COPYRIGHT, OR VIOLATES ANY TRADE SECRET RIGHT OF A THIRD PARTY. ALL OTHER LIABILITIES OR OBLIGATIONS OF ENVOS FOR DAMAGES INCLUDING, BUT NOT LIMITED TO, CONSEQUENTIAL AND INCIDENTAL DAMAGES ARE SPECIFICALLY DISCLAIMED. 8. NO TRANSFER OF TITLE No transfer of title to the Licensed Software is effected by this Agreement. Licensee shall retain possession and control of all copies of the Licensed Software at all times. Licensee shall not make the Licensed Software available to any third party for any purpose. 9. ENTIRE AGREEMENT This Agreement is the entire agreement between the parties pertaining to the subject matter hereof and supersedes all proposals or prior and contemporaneous agreements or understandings of the parties regarding such matter. Terms and conditions contained in any Licensee purchase order or other ordering document submitted pursuant hereto shall have no binding effect on ENVOS and will not modify this Agreement in any way. 10. MISCELLANEOUS a. No delay or failure of either party to exercise any right or remedy shall operate as a waiver thereof. No waiver of any of the provisions of this Agreement for a particular situation shall be deemed or constitute a permanent waiver of such provision for any other situation nor shall such waiver constitute a continuing waiver for the same situation if it should reoccur. b. No modification of this Agreement shall be valid unless made in writing and signed by duly authorized representatives of both parties. c. Licensee acknowledges that its rights in and to the Licensed Software may not be assigned, licensed or otherwise transferred without the prior written consent of ENVOS. d. This Agreement shall be governed by the laws of the State of California, excluding its rules concerning choice and conflicts of law. e. Any notice required or permitted to be given under this Agreement shall be in writing and shall be delivered personally or deposited in the United States mail, postage prepaid, addressed to the party at the address above stated or such other address as said party shall, by notice to the other, designate. f. If any provision of this Agreement is held invalid, such invalidity shall not affect the other provisions which can be given effect without the invalid provision. g. The prevailing party in any proceeding to resolve a dispute pertaining to matters covered by this Agreement shall be entitled to receive its reasonable attorneys' fees, expert witness fees and out-of-pocket costs incurred in connection with such proceeding, in addition to any other relief it may be awarded. h. Captions to provisions of this Agreement are included for the convenience of the parties only and shall be disregarded in the interpretation of this Agreement. IN WITNESS WHEREOF, the parties hereto have caused this Agreement to be executed on the date(s) entered below. ENVOS Licensee by by its its Date Date 9T- T, -T,,CLASSIC MODERNCLASSIC MODERN%#  ;!Ng98}/$%W5*E y69o (z \ No newline at end of file diff --git a/docs/fixed-envos/NoteCards,Mr.Davey.TEdit b/docs/fixed-envos/NoteCards,Mr.Davey.TEdit new file mode 100644 index 0000000..403f4ee Binary files /dev/null and b/docs/fixed-envos/NoteCards,Mr.Davey.TEdit differ diff --git a/docs/fixed-envos/NoteCards-1sheet.TEdit b/docs/fixed-envos/NoteCards-1sheet.TEdit new file mode 100644 index 0000000..ddb311c Binary files /dev/null and b/docs/fixed-envos/NoteCards-1sheet.TEdit differ diff --git a/docs/fixed-envos/NoteCards-Demo,Ltr.TEdit b/docs/fixed-envos/NoteCards-Demo,Ltr.TEdit new file mode 100644 index 0000000..eaca52a Binary files /dev/null and b/docs/fixed-envos/NoteCards-Demo,Ltr.TEdit differ diff --git a/docs/fixed-envos/NoteCards-Ltr.TEdit b/docs/fixed-envos/NoteCards-Ltr.TEdit new file mode 100644 index 0000000..6ecf305 Binary files /dev/null and b/docs/fixed-envos/NoteCards-Ltr.TEdit differ diff --git a/docs/fixed-envos/NoteCards-TPd-P2.TEdit b/docs/fixed-envos/NoteCards-TPd-P2.TEdit new file mode 100644 index 0000000..fca3510 Binary files /dev/null and b/docs/fixed-envos/NoteCards-TPd-P2.TEdit differ diff --git a/docs/fixed-envos/NoteCards-tape-1.2.tedit b/docs/fixed-envos/NoteCards-tape-1.2.tedit new file mode 100644 index 0000000..c5d376c Binary files /dev/null and b/docs/fixed-envos/NoteCards-tape-1.2.tedit differ diff --git a/docs/fixed-envos/NoteCards.tedit b/docs/fixed-envos/NoteCards.tedit new file mode 100644 index 0000000..b15fb62 Binary files /dev/null and b/docs/fixed-envos/NoteCards.tedit differ diff --git a/docs/fixed-envos/PORT.NOTEFILE b/docs/fixed-envos/PORT.NOTEFILE new file mode 100644 index 0000000..e8a3fca Binary files /dev/null and b/docs/fixed-envos/PORT.NOTEFILE differ diff --git a/docs/fixed-envos/PRODUCT-DESCRIPTION.TEDIT b/docs/fixed-envos/PRODUCT-DESCRIPTION.TEDIT new file mode 100644 index 0000000..f19a0b9 Binary files /dev/null and b/docs/fixed-envos/PRODUCT-DESCRIPTION.TEDIT differ diff --git a/docs/fixed-envos/RS6000-NoteCards-demo.TEdit b/docs/fixed-envos/RS6000-NoteCards-demo.TEdit new file mode 100644 index 0000000..e9516bf Binary files /dev/null and b/docs/fixed-envos/RS6000-NoteCards-demo.TEdit differ diff --git a/docs/fixed-envos/RS6000-NoteCards-tape-1.2.TEdit b/docs/fixed-envos/RS6000-NoteCards-tape-1.2.TEdit new file mode 100644 index 0000000..c5d376c Binary files /dev/null and b/docs/fixed-envos/RS6000-NoteCards-tape-1.2.TEdit differ diff --git a/docs/fixed-envos/SEdit.NOTEFILE b/docs/fixed-envos/SEdit.NOTEFILE new file mode 100644 index 0000000..0a73d69 Binary files /dev/null and b/docs/fixed-envos/SEdit.NOTEFILE differ diff --git a/docs/fixed-envos/SYSTEM.NOTEFILE b/docs/fixed-envos/SYSTEM.NOTEFILE new file mode 100644 index 0000000..f05bbdf Binary files /dev/null and b/docs/fixed-envos/SYSTEM.NOTEFILE differ diff --git a/docs/fixed-envos/Sun-NoteCards-Demo-tape.TEdit b/docs/fixed-envos/Sun-NoteCards-Demo-tape.TEdit new file mode 100644 index 0000000..a28fac0 Binary files /dev/null and b/docs/fixed-envos/Sun-NoteCards-Demo-tape.TEdit differ diff --git a/docs/fixed-envos/Sun-NoteCards-tape-1.2.TEdit b/docs/fixed-envos/Sun-NoteCards-tape-1.2.TEdit new file mode 100644 index 0000000..c5d376c Binary files /dev/null and b/docs/fixed-envos/Sun-NoteCards-tape-1.2.TEdit differ diff --git a/docs/fixed-envos/Sun-NoteCards-tape-2.0.TEdit b/docs/fixed-envos/Sun-NoteCards-tape-2.0.TEdit new file mode 100644 index 0000000..e728f40 Binary files /dev/null and b/docs/fixed-envos/Sun-NoteCards-tape-2.0.TEdit differ diff --git a/docs/fixed-envos/TST.NOTEFILE b/docs/fixed-envos/TST.NOTEFILE new file mode 100644 index 0000000..c910719 Binary files /dev/null and b/docs/fixed-envos/TST.NOTEFILE differ diff --git a/docs/fixed-envos/USERMAN3.NOTEFILE b/docs/fixed-envos/USERMAN3.NOTEFILE new file mode 100644 index 0000000..e69de29 diff --git a/docs/fixed-envos/Venue.NOTEFILE b/docs/fixed-envos/Venue.NOTEFILE new file mode 100644 index 0000000..021dac4 Binary files /dev/null and b/docs/fixed-envos/Venue.NOTEFILE differ diff --git a/docs/fixed-envos/call-note-template.tedit b/docs/fixed-envos/call-note-template.tedit new file mode 100644 index 0000000..6c172df Binary files /dev/null and b/docs/fixed-envos/call-note-template.tedit differ diff --git a/docs/fixed-envos/countries.NOTEFILE b/docs/fixed-envos/countries.NOTEFILE new file mode 100644 index 0000000..b444911 Binary files /dev/null and b/docs/fixed-envos/countries.NOTEFILE differ diff --git a/docs/fixed-envos/destnotefilebrowser.ted b/docs/fixed-envos/destnotefilebrowser.ted new file mode 100644 index 0000000..bc7a958 Binary files /dev/null and b/docs/fixed-envos/destnotefilebrowser.ted differ diff --git a/docs/fixed-envos/foreign-functions-interface.NOTEFILE b/docs/fixed-envos/foreign-functions-interface.NOTEFILE new file mode 100644 index 0000000..36ece83 Binary files /dev/null and b/docs/fixed-envos/foreign-functions-interface.NOTEFILE differ diff --git a/docs/fixed-envos/man.NOTEFILE b/docs/fixed-envos/man.NOTEFILE new file mode 100644 index 0000000..33611e6 Binary files /dev/null and b/docs/fixed-envos/man.NOTEFILE differ diff --git a/docs/fixed-envos/notecards-letter.tedit b/docs/fixed-envos/notecards-letter.tedit new file mode 100644 index 0000000..0ded13b Binary files /dev/null and b/docs/fixed-envos/notecards-letter.tedit differ diff --git a/docs/fixed-envos/rdg-list.NOTEFILE b/docs/fixed-envos/rdg-list.NOTEFILE new file mode 100644 index 0000000..6889958 Binary files /dev/null and b/docs/fixed-envos/rdg-list.NOTEFILE differ diff --git a/docs/fixed-envos/releasenotes.ted b/docs/fixed-envos/releasenotes.ted new file mode 100644 index 0000000..8c67751 --- /dev/null +++ b/docs/fixed-envos/releasenotes.ted @@ -0,0 +1,9 @@ +NoteCards Release1.2i Announcement Xerox Corporation Randy Trigg Frank Halasz [Location: {qv}release1.2i>notecards.dcom] [First written: 3/27/85 Randy Trigg] [Last updated: 8/26/85 Randy Trigg] This document updates the NoteCards Release1.1 User's Manual, describing changes and new features for Release1.2i. As usual, send bug reports to NoteCardsSupport.pa (or use the Lafite SendMail middle button menu) and matters of more global interest to Notecards^.pa. You must be in Intermezzo to run NoteCards Release1.2i. From now on, you can depend on the letter suffix following the release number to indicate the appropriate version of Interlisp. Changes from 1.1 are mostly in the following areas: the NoteCards browser, notefiles interface, link icon display and user interface. In addition, there are various miscellaneous changes, a couple of new card types, and fixes of several outstanding 1.1 bugs. 1. Operating on a Notefile. Checkpointing and aborting a session: A fundamental change was made to the way Notecards updates its working notefile that allows 1.2i users to checkpoint their work, abort a session (losing work since the last checkpoint), and recover more gracefully from crashes. First, a word about the way Notecards notefiles are structured. A notefile consists of two parts, an index area and a data area. The index includes for each notecard, several pointers into the data area. There are separate pointers for the notecard's substance, title, prop list, and links. When, say, a notecard's title is changed, the new title is written at the end of the data area (in fact the end of the file) and the index pointer is changed. In Release1.1 (and earlier), the index modifications happened out on the file as they occured. Now, in Release1.2i they happen in an in-core array and are not written to the file till checkpoint (or close) time. In addition, there is a checkpoint pointer that points to the end of file at the time of the last checkpoint or close. New data (such as a new title) is still written to the file, but always at the end of the file. Thus if a crash occurs and later the notefile is reopened, Notecards can notice the extra data beyond the checkpoint pointer and truncate the file at that point (if you confirm). More concretely, there are now two new NoteFile Ops menu entries: "Checkpoint Session" and "Abort Session." Checkpointing causes any active cards to have their contents saved to the notefile (but not closed), the index array to be written back out to the file, and the checkpoint pointer to be reset to the end of the file. (Note that closing a notefile automatically does a CheckpointSession.) Aborting a session causes Notecards to close down, discarding all work since the last checkpoint or close. When a notefile is opened, the checkpoint pointer is compared with the end of file pointer. If they don't agree, then you're asked whether the file should be truncated. You're also given the option of saving the extra work since the last checkpoint to a file. If valuable cards were created (or modifications made) since the last checkpoint, then you should answer yes and provide the name of a file in which to store the truncated information. Next, you should open the truncated notefile and bring up a separate TEdit window on the file containing the truncated information. Though TEdit formatting information is lost, you can recover a card's text by browsing this file. (Note that scrolling from back to front will retrieve the most recent version of each card.) [Note that closing (or saving without closing) a card writes it out to the file, but does not force the index to be updated. Thus, if crashes are anticipated, do CheckpointSession often.] Compacting a Notefile: Because Notecards never actually overwrites any information in the data area of a notefile, it is necessary to periodically compact the notefile. This facility has been improved in Release1.2i in two ways. It is now possible to specify a target file name for the compaction (rather than always going to the same name), and it is now possible to compact a notefile in place. These two choices form a submenu of the CompactNotefile entry in the Notefile Ops menu. Copying, restoring, and backing up notefiles: The menu entries for RestoreFromFloppy and BackupToFloppy have been removed from the NotefileOps menu. In their place is a general CopyNotefile option. It prompts you for source and target file names for the copy. There is a new facility for checking in and out notefiles using locks for multiple users sharing a notefile. Still in the experimental stages, it must be called via the programmer's interface. See the programmer's interface documentation. Inspecting and healing broken notefiles: The old Repair option on the Notefile Ops menu is now called Inspect&Repair and has been improved considerably. Before rebuilding the links of your notefile, it reads the entire data area looking for good card parts (including outdated and deleted versions). It then allows you to delete and/or back up card parts to previous versions. All this is done interactively through a menu driven interface. Only when the notefile is deemed healthy are you allowed to perform the link rebuilding. For details on the operation of Inspect&Repair, see the document titled NotefileInspector.ted. 2. Changes to the Notecards user interface. Stylesheets: Several places in Notecards now use Tayloe Stansbury's stylesheet package for user interaction, in particular, changing a link's display mode, a browser's specs, or the default text and link icon fonts from the global parameters menu. Stylesheets allow packaging of several menus together with "buttons" governing individual menus and the stylesheet as a whole. Menus within a stylesheet can optionally allow multiple selections. All stylesheets have three global buttons "Done," "Reset," and "Abort." "Done" causes the new values to be accepted. "Reset" causes the original values (when the stylesheet was entered) to be recovered. "Abort" causes the stylesheet to be exited without changing any values. Menus allowing multiple selections also have the buttons "All" and "Clear" attached. "All" causes all values in the menu to be selected while "Clear" unselects the entire menu. Toggling of menu entries is accomplished by left clicking the entry. New global parameters: The top level global parameters menu has several new additions. These (as well as some old 1.1 ones) are described below. To change the value of a global parameter, click on the variable name. The value will toggle between "Yes" and "No" if binary, and allow selection from an appropriate menu otherwise. ForceSources, ForceFiling, ForceTitles: These dictate whether to bother you at card closing time about incomplete information for the card. If ForceFiling is set, for example, then you are asked to designate parent fileboxes of the card before closing. Similarly, for sources and titles. If ForceFiling is off (value is "No"), then cards without parents will be filed automatically in the ToBeFiled filebox at closing time. If ForceTitles is off, then an untitled card will be left with the title "Untitled." ForceTitles and ForceFiling default to "Yes," while ForceSources defaults to "No." CloseCardsOffScreen: If "Yes," then when a card is closed, it is first dragged off screen so that the close happens invisibly. MarkersInFileBoxes: If "Yes," then new fileboxes will contain the markers "FILE BOXES" and "NOTE CARDS." New child boxes are inserted under the FILE BOXES marker and new child cards under the NOTE CARDS marker. If "No," then new fileboxes come up without markers and new children are inserted at the current cursor position. Note that regardless of the MarkersInFileBoxes setting, if a filebox has no markers (because you've deleted them) then new children are inserted at the cursor position. AlphabetizedFileBoxChildren: If "Yes," then new fileboxes will have the property OrderingFn set to NC.IDAlphOrder. This will cause any new cards put into such a filebox to be inserted in alphabetical order. For further details on OrderingFn's for fileboxes see Section 4. DefaultLinkIconAttachBitmap, DefaultLinkIconShowTitle, DefaultLinkIconShowLinkType: These dictate the manner in which link icons are displayed if not currently specified in the icon. There are three fields of a link's display mode that can be set, unset, or floated independently. If a field is floated, then the global parameter for that field is consulted. For example, if a link icon's display mode has value FLOAT for the ShowTitle field, then whether the title gets shown inside the link icon depends on the value of DefaultLinkIconShowTitle. See below for a further description of a link's display mode. LinkDashingInBrowsers: If "Yes," then browser links are drawn with dashed lines with the dashing style corresponding to the link's type. See Section 3 for further details on browser changes. Defaults to "No." ArrowHeadsInBrowsers: This dictates whether arrow heads are drawn on browser links. The variable can be set to either "AtMidpoint," "AtEndpoint," or "None." See Section 3 for details. Defaults to "None." EnableBravoToTEditConversion: If "Yes" then TEdit checks when getting a file whether that file is in Bravo format and if so, converts. This defaults to "No" for efficiency. DefaultFont: This dictates the font that new text cards default to. LinkIconFont: This dictates the font for text appearing in link icons. Link icon display mode: The display mode of a link icon can be changed by middle buttoning in the icon and selecting from the three menus in the resulting stylesheet. These are: AttachBitmap, ShowTitle, and ShowLinkType. AttachBitmap, if "Yes," causes link icons to be shown with a bitmap representing the type of the destination card attached at the left. ShowTitle and ShowLinkType, if "Yes," cause the link icon to contain the title of the destination card and/or the link type. Any of the three fields can have the value FLOAT, in which case the appropriate global parameter will be consulted. (See description of global parameters above.) If all fields are set to "No" (or the floating ones inherit No from the global parameters), then a small, uninformative icon is used to display the link. "Pushing" and "Pulling" link icons: There are now two ways to move or copy a link icon between cards or within a card. "Pulling" works like TEdit shift-select. That is, to move an icon, put the cursor where you want to move to and hold down the shift key (or shift and ctrl keys) while left clicking in the left or right quarter of the icon. The new style is called "pushing" and is done by holding down the shift key while left clicking in the middle part of the icon. Then move the cross-hairs cursor to the icon's new home and left-click. To abort a "push," just left click in the background. Note that "pushing" currently only works for copying, not moving. Specifying notefile names and card titles: A different editor has been incorporated into Notecards for obtaining card titles, file names, etc. This editor is the same one used in the top level lisp exec window (TTYIN). Thus you can change the title (or file name) given as prompt via mouse edits. 3. Changes to the Notecards browser. Multiple roots: Browsers can now contain multiple roots, in which case the graph will be laid out as a forest. Dashed links: Dashed browser links was a rarely used option in Release1.1, largely because of speed considerations. The speed of drawing dashed links has improved in Release1.2i by taking advantage of improvements in Grapher. There are currently nine different dashing styles possible. If a browser contains instances of more than nine different link types, then the last dashing style will be used repeatedly for each link type beyond the ninth. As before, link dashing is a user-settable option in the GlobalParameters menu (see Section 2). Arrowheads: Arrowheads can now be drawn on browser links. These show the direction of the notecards link being represented in the browser. This is a user-settable parameter in the GlobalParameters menu with possible values AtMidpoint, AtEndpoint, or None. If AtMidpoint or AtEndpoint is specified, then arrowheads will be drawn at link midpoints or endpoints, respectively. However, in either case, if two browser nodes are connected by more than one link, then any arrowheads for those links will appear at the midpoints (so as not to overlap). Browser specs: Whereas in Release1.1 only the link types to traverse could be specified, in Release1.2i, link types is one of a number of browser specs. Also included are browser depth, format, and orientation. These are accessible through a BrowserSpecs stylesheet, a collection of 5 menus. For general details on the stylesheet interface see Section 2. In this case, the forward and backward link types menus are multi-selectable, that is, more than one entry can be chosen. The other three menus are used to make single selections. Forward and backward link types function as in Release1.1. That is, the browser will contain only nodes for cards reachable from the root cards by following forward links in "line of direction" or backward links in "reverse line of direction." Browser depth is chosen from a menu containing entries for the integers 0 through 9 and INF (or infinite depth). The default is INF, meaning that the browser will not be cut off until there are no more links to follow from leaf nodes. Choosing depth 0 means that only the root nodes will appear (and no links). Browser format is one of *GRAPH*, LATTICE, COMPACT, or FAST. The latter three are provided by the grapher package and correspond to lattice, compact forest and fast forest, respectively. COMPACT and FAST generate virtual nodes (in double boxes) whenever two or more links would be drawn to the same node. LATTICE only generates virtual nodes when a cycle exists in the graph. *GRAPH* is a new format that never generates virtual nodes. The drawback to using *GRAPH* is that a cycle can cause lines to be drawn that cross boxes or overlap other lines. Thus you may have to move nodes around for legibility after computing the browser. The default is LATTICE. Browser orientation is one of Horizontal, Vertical, Reverse/Horizontal, or Reverse/Vertical. These specify whether the graph is layed out left-to-right, top-to-bottom, right-to-left, or bottom-to-top, respectively. The default is Horizontal. New middle button title bar menu options: Several new entries have been added to the middle button menu invoked from a browser's title bar. The options are now RecomputeBrowser, RelayoutGraph, ReconnectNodes, UnconnectNodes, ExpandBrowserNode, GraphEditMenu, and ChangeBrowserSpecs. RecomputeBrowser causes the current contents of the browser to be thrown away and recomputed as in Release1.1. However, in Release1.2i, you can optionally specify a new set of root nodes. RelayoutGraph does not rebuild the graph, but rather causes the nodes and links of the graph to be repositioned on the screen (using Grapher's LAYOUTGRAPH). This will destroy any work you have done moving nodes within the graph. ReconnectNodes first causes any link edges in the graph to be erased. (Note, however, that non-link edges, those created by "AddEdge" as described below, are ignored.) Then, each node in the graph is connected to every other node in the graph for which there is a link between them having one of the currently selected link types. This can be useful for several reasons: 1. when the linking structure between cards has changed, but the current browser layout needs to be preserved. 2. when some browser nodes need to be moved, but dragging the connected links is too slow. In this case, do UnconnectNodes followed by ReconnectNodes (after you've moved the nodes around). 3. when special browser layouts are desired. For example, suppose you like the layout that Grapher gives you when certain links are left out or when you limit the depth. Then calling ReconnectNodes will fill in the missing links without affecting the graph's layout. UnconnectNodes simply erases all edges in the browser. This is useful for positioning a browser's nodes before invoking ReconnectNodes. ExpandBrowserNode allows you to enlarge the graph under a given node. After selecting a node, you're asked for a depth (defaults to 1). The graph is then expanded under the selected node to the given depth, following any currently selected links. Note that ExpandBrowserNode calls LAYOUTGRAPH so any existing special node arrangements will be lost. GraphEditMenu brings up the graph editing menu. See the description below. ChangeBrowserSpecs brings up the BrowserSpecs stylesheet to allow you to change any of the browser specs. These changes will be noticed at the next RecomputeBrowser, ExpandBrowserNode, etc. Editing the browser manually and "structure editing": The browser can be edited through the use of the GraphEditMenu. This menu can be obtained either by right-buttoning in the browser window or by choosing GraphEditMenu from the title bar middle button menu. The GraphEditMenu includes options for "structure editing"; that is, changing underlying NoteCards structure by editing the browser. The old options for editing without changing structure are also present. Given below are the menu items in GraphEditMenu and the actions they engender. CreateCard&Node causes a new card to be created in the current Notefile and a corresponding node for it to be included in the browser. You're asked for the type of the new card, its title, and where to position the node representing it. CreateLink&Edge causes a new link to be created between two existing cards and a corresponding edge to be drawn in the browser. (We call such an edge representing a Notecards link, a "link edge." See AddEdge below for creating non-link edges.) You're asked for the "From" and "To" nodes in the browser corresponding to the cards to be linked as well as a link type. The link icon for the new link is positioned at the cursor point in the From card if the card has text substance and an open window. Text cards with closed windows have links inserted at the start of the text stream. Otherwise, the new link is a global link. You can have multiple link edges between pairs of cards. In this case the edges are displayed in a spline or "flower" arrangement. DeleteCard&Node causes a card to be deleted and its corresponding node in the browser to be removed. You are asked first to choose the node representing the card to be deleted and then to confirm the removal of the node (type "y" to confirm) and the deletion of the card. If the selected node is one of a set of virtual nodes (double boxed), then all nodes in the set (i.e. representing the given card) are removed. DeleteLink&Edge causes a link in the Notefile to be deleted and the corresponding edge in the browser to be removed. You first pick the "From" and "To" nodes corresponding to the source and destination ends of the link respectively. Then, if there is only one link between those two cards, the link is deleted after user confirms. If there are multiple links between the two cards, then the user chooses from a menu of link types. AddLabel puts a "label node" into the browser that does not represent a Notecard. You are prompted for a string forming the node's label and then must position the label node. This node is not boxed. (But note that "virtual" label nodes can be boxed and thus can be confused with non-virtual regular nodes.) AddNode adds a node into the browser corresponding to some existing card. You are asked to point to a card (title bar or link icon) on the screen that this node is to represent and then to position the node. AddEdge draws a line between two nodes in the browser. This edge does not correspond to a real link in the Notefile. To avoid confusion, it is best to have the arrowheads option on (see Section ??) in this case, since edges formed by AddEdge do not have arrowheads (or dashing). Only one such edge is allowed between any two nodes and none if there are already link edges between the nodes. Thus doing CreateLink&Edge will remove any existing non-link edge. RemoveNode removes a node from the browser. It does not delete the card (if any) that the node represents. Edges into and out of the node are also removed. If the selected node is one of a set of virtual nodes representing the same card, then you will be told how many nodes will be removed with this one and will be asked to confirm. The only way to remove only one node of a set of virtual nodes, is to first manually remove edges into and out of it using RemoveEdge. Then RemoveNode can be used to remove only the one virtual node. RemoveEdge removes an edge from the browser. It does not delete the link (if any) that the edge represents. The user is asked to select the "From" and "To" nodes of the edge. MoveNode allows you to change the position of any node, rubber banding any edges pointing to it. You're asked to point to the node by left-buttoning, and holding down the left button, drag the node to its new position. LabelSmaller is used to decrease the font size of label nodes. Note that it does not work for regular non-label nodes. LabelLarger is used to increase the font size of label nodes. <->Shade toggles the shade of a node between black-on-white and white-on-black. This can only be performed on label nodes (not on nodes representing Notecards). FIX MENU causes the GraphEditMenu to be affixed to the lower right edge of the browser window. Note that this does not prevent you from obtaining the menu via right button inside the window. [Note that the above editing commands do not work on old 1.1 browsers. Such browsers should either be recomputed (via RecomputeBrowser) or unconnected and reconnected.] 4. Miscellaneous changes. Links ordering within text cards: The internal list of outgoing links in a text card is now kept in the same order that the links appear in the card's text. This means, for example, that the daughters of a browser node for a filebox will appear in the correct order. Link insertion: The title bar menu entry for "InsertLinks" now has an attached submenu containing entries for adding single links, multiple links, and global links. When inserting multiple links (or adding multiple global links) you're only asked for one link type which is used to label all the new links and all are inserted at the same place in the text. Show links: This is now a normal entry in the left button title bar menu of a card (rather than a subentry under Edit Properties). The format of the ShowLinks display has been changed slightly. The prefix is now either TO, FROM, or Global TO. The link type is shown in the icon. Also, for text cards, the TO links should appear in the correct order. Sketch changes and fixes: Notecards now uses the latest version of sketch. See the sketch documentation for details on changes. Several long-standing bugs having to do with link icons in sketch cards have been fixed. Sketches and graphs in text cards: It is possible to shift-copy the contents of sketch and graph/browser cards into text cards. In addition, the Document card is now able to include the contents of sketch and graph cards if encountering them during card gathering. (It is still not possible for Document to include the contents of cards having user-defined substance types such as NCFile cards.) Data saved at card closing: When a card is closed, only those parts that are dirty are written out to the notefile. A message indicating which parts are being saved is now printed to the card's prompt window during closing. Furthermore, certain card types (in particular, browsers) were saving their substance even if no changes were made. This source of space inefficiency has been fixed in Release1.2i. Ordering cards in a filebox: It is now possible to dictate the relative placement of new cards in a filebox. If the OrderingFn property of a card has a value, it should be a lisp function that takes two card ID arguments and returns T if the first should appear before the second and NIL otherwise. You can make such a function appear automatically on new boxes for the case of alphabetizing by using the global parameter AlphabetizeFileBoxChildren. See section 2. Programmer's interface: The Programmer's interface has been updated. Thus users with existing programmer's interface code should read the revised PI documentation. The changes are not all forward compatible. Notecards system date: You can find the date of your Notecards system in the variable NC.SystemDate. The 'NewestFile property on the NC.SystemDate atom contains the name of the last modified Notecards file. The Notecards library packages: The old Release1.1 library packages have been converted to 1.2i and documented and several new ones have been added. These can be found on {qv}release1.2>library> and include NCScreen, NCCluster, NCChain, NCFileCard, NCKeys, NCHacks, and ARIDemo. Documentation can be found in .ted. NCScreen defines several handy functions for arranging cards on the screen callable from the programmer's interface. NCCluster defines several new card types, most notably CaseCluster, a cluster of cards for use in the sample domain of legal case analysis. NCChain defines the Chain card type, useful for breaking up a large text card into a linked chain of cards. NCFileCard defines the new File card type and FILE substance allowing a notefile to link to external files via standard Notecards links. NCKeys provides a shorthand language for invoking various handy programmer's interface functions. NCHacks contains several handy functions written using the programmer's interface. Two of these allow global text searches and replaces throughout a notefile. In addition there is a function that searches by last card modification date and one that links cards to form chains. Finally, ARIDemo is an example of how the programmer's interface can be used to construct notefiles that demo themselves. Loading NoteCards from different directories: NoteCards now uses the values of four directories variables to decide from whence to load the code. These are NOTECARDSDIRECTORIES, NOTECARDSMAPDIRECTORIES, QUADTREEDIRECTORY, and MAPFILEDIRECTORY. They default to ({QV}RELEASE1.2I>), ({QV}MAPS>NEW>), {QV}MAPS>, and {QV}MAPS> respectively. 5. Known bugs and plans for future improvements: o The compactor should check first for available space. o There are major speed problems in redrawing large browsers. Changing link display mode could also use some streamlining. o Integrate the document compiler and the types mechanism so that instances of new card types can be sucked into TEdit documents. o Make links into full-fledged objects having properties and type hierarchies. +TIMESROMAN  +TIMESROMAN  +TIMESROMAN + +TIMESROMAN +TIMESROMAN"  6%# &%E.)M- 4VgEH $x+&_ 9* hp{O >6/ + + l 3"W V#k| 2.P29}Ojkz \ No newline at end of file diff --git a/docs/fixed-envos/states.NOTEFILE b/docs/fixed-envos/states.NOTEFILE new file mode 100644 index 0000000..50e1761 Binary files /dev/null and b/docs/fixed-envos/states.NOTEFILE differ diff --git a/docs/fixed-envos/tennessee-v-garner.notefile b/docs/fixed-envos/tennessee-v-garner.notefile new file mode 100644 index 0000000..d295d66 Binary files /dev/null and b/docs/fixed-envos/tennessee-v-garner.notefile differ diff --git a/docs/misc/from_envos/notefileinspector.ted b/docs/misc/from_envos/notefileinspector.ted deleted file mode 100644 index dbf1a8f..0000000 --- a/docs/misc/from_envos/notefileinspector.ted +++ /dev/null @@ -1,174 +0,0 @@ -Inspecting and Repairing Notefiles - -Xerox Corporation - -Randy Trigg - - -[First written: 8/9/85 Randy Trigg] -[Last updated: 8/26/85 Randy Trigg] - -This document describes the Notefile inspector facility available via the Inspect&Repair option on the Notefile Ops menu in NoteCards Release1.2i. - -The old Repair Notefile facility rebuilt the links in a Notefile from the contents of card substances. This was used whenever a notefile was thought to have inconsistent links. The problem was that notefiles with inconsistent links often had other problems that caused Repair to break. Thus the motivation for developing the notefile inspector documented here was to verify a notefile's readability before invoking the link rebuilder. As it turns out, this inspector is useful generally for checking the health of a notefile, deleting cards and backing up other cards (or more precisely, card parts) to previous versions. Thus, you may want to use the inspector even if your notefile is healthy and doesn't need its links rebuilt. - -The notefile inspector has three separate phases: reading the notefile's data area searching for healthy card parts, allowing the user to make modifications, and rebuilding the links. The process can be aborted after phase 1 or 2 if desired. This document begins with a brief discussion of the organization of a notefile. Then follows sections describing each of the three phases. Finally, I outline some tips, strategies and pitfalls to watch for. - - -1. What you need to know about a notefile's innards. - -1.1 Notefile structure. - -A notefile consists of two parts, the index and the data area. Each card in the notefile has an entry in the index. An index entry has 5 parts, a status field and 4 pointers. The status field specifies whether the index entry is free or occupied by an active or deleted card. There is one pointer in the index entry to each of the 4 parts of a card: substance, title, links and property list. These point into the data area. Whenever you change, say, the title of a card, the new title is written to the end of the data area and the index entry title pointer for that card is updated to point to the new location in the data area. Thus, in general, a notefile's data area grows every time any part of any card is changed. To throw away the old versions of card parts, it is necessary to compact the notefile. - -1.2 Card IDs. - -Every card in the notefile has a unique ID, e.g. NC00023. The top level fileboxes; Contents, Orphans, and To Be Filed have IDs NC00001, NC00002, and NC00003, respectively. Note that these boxes cannot be deleted. The IDs from NC00004 through NC00020 are unused. Currently, an old ID is never reused, even if its card is deleted and the notefile is compacted. Thus, if the inspector shows no entry in the card inspector menu for some ID, it is because that card has been deleted. If you've asked to show deleted cards and it still doesn't appear, it's because the notefile has been compacted since that card was deleted. - -1.3 Card parts. - -Of the four parts of a card, the title and property list are simplest. The title is simply a string while the property list is a list of attribute value pairs. If you have not been attaching properties to your cards, then the inspector will only show those properties that the system maintains. Currently the only such property is "Updates" with value equal to a list of dates on which the card was updated going chronologically backwards from the front of the list to the back. - -The substance of the card is simply its contents. Thus a text card's substance is a text stream, a browser card's is its graph, etc. These are stored on the file in a manner appropriate to the substance type. Thus a text substance on the notefile looks like the way TEdit writes out text streams (text followed by "looks" information). - -1.4 Links on the notefile. - -The links of a card are divided into three groups: to links, from links, and global links, where the global links form a subset of the to links. The to links of a card are those links pointing from this card to some other card. The from links are those links pointing from another card to this one. Finally, the global links are those to links that are global, that is, they point from this card as a whole to another card. (Global links are the ones that aren't anchored in the source card's substance. Source links are an example.) - -The confusing thing about links out on the notefile is that they are stored in several places. All links are stored as to links with their source card and as from links with their destination card. Furthermore, links that are not global are also stored within the substance of their source card inside of a link icon. Links that are global are also stored on the global links list of their source card. Thus, all links are stored in three places: as a to link on the source card, as a from link on the destination card and either in the substance of the source card or on its global links list. If these three records of a link don't agree for some reason, then we say that the notefile is inconsistent and needs its links rebuilt. - -1.5 The links rebuilder. - -The third phase of the inspector rebuilds the links of a notefile as follows: First it removes all the to and from links for every card. Then it reads the substances for each card and recreates to links and from links by looking at the links found inside the link icons in the substance. - -The link rebuilder is also able to rebuild bad filebox substances. It does this by looking for all cards in the notefile with from links from the bad box and creating a new substance for the box containing only links to those cards. This process loses any text that the box might have contained as well as scrapping the original ordering of links. Nonetheless, in some cases this may be preferred to backing up the substance to a previous version or to deleting the box altogether. - -The links rebuilder can rebuild the notefile's list of link types in a similar manner. That is, it records the set of link types seen on valid links and replaces the old links types with the new set. Note that this throws away any link types for which there are no links in the notefile. - -Finally, the links rebuilder can rebuild bad global links for a card. It does this by looking for any cards with from links from the bad card that are global. This assumes that the card at the destination end has good links. Thus, if the cards at both ends of a global link have unreadable links, then there is no way to recover that link. - -The inspector provides the option of having the links rebuilder phase rebuild bad filebox substances, bad link types, and bad global links. See Section ?? below. - -2. Running the Notefile inspector: Phase 1: Scouring the data area - -To start the inspector, first be sure that there is no open notefile. Then select the item Inspect&Repair from the NoteFile Ops menu. There is one option available at this level by "pulling to the side" called ReadSubstances. This ensures that substances of all cards pronounced valid by the inspector are readable. If this option is not invoked, then a check is still run on the length of the substance, but not on its contents. Unfortunately, the ReadSubstances option requires MUCH more work by phase 1. I recommend that you only use this option if Phase 3 (link rebuilding) breaks with some error like "Bad Piece Tbl" from TEdit. In that case, up-arrow out of the break and start the Inspect&Repair process over again, this time using the slower but more comprehensive ReadSubstances option. - -Selecting Inspect&Repair will invoke phase 1 of the inspector, wherein the data area of the notefile is scoured for valid card parts. A record of all such parts is kept and statistics printed out at the end. You'll be asked to position the window in which those statistics as well as later inspector communications will be printed. You can monitor the progress of phase 1 by watching the prompt window. It will be printing messages like "Processing byte xxxxx of yyyyy." - -When phase 1 has completed and you've positioned the interaction window, statistics on your notefile will be provided. You'll be told the total number of card IDs used and the number of those that are currently associated with active and deleted cards. (The rest are free and will never be reused. See Section 1.2 above.) If all seems well with the world, the next line will read "All active cards look okay." If not, there will be various messages outlining the problems. (See Figure 1.) - - -8#UUUUUUUUUUUUUUUw~wUUUUUUUUUUUUUUU~|:Ïw=?<{8|8Cu/sUUUUUUUUUUUUUUUw߯ڿ{=u{s}_;}w~u߷m~; -p7~߷}UUUUUUUUUUUUUUU~w~߷}UUUUUUUUUUUUUUU}w~߷~{y{;~~߻~:<;<~~߼/UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU```c 8pÀ8pÀ8pÀ8pC b "D$@"D$@"D$@"D b,8"L2d@"L2`@"L0 @"LB,8 -8ac2DQ  TR TR TQÀ TCā2@Db"D! TR TR@ TP @ TB$"""0T>Dx" HD'@b "@$H "" D" HD$@b# "D$H"""D"H"d"&IL$ADb!"8Gp"8QXx"ņ4b#8q`@`@```acËaL"aȈaa$H"`È````aÀǀb  D@@b$OxDXhGb$D" "E@dHb$D" BE@@Fb$D" @"@Ab$Ā" D@"@HaC C@hLJ````` @ a" @ cŇqa  pÈ8qa,4B8,4paH" < D d@2L@ DA`2LaO>y"y@y#"D@|A  D`aH "@ "D@@A  Da$H" " Dd@"L@ DI` L@`Gyx8y"480 4p@````a b" b',8LJqaÀb"2D""$@b""| >b""@ b" "D"A"$Fa"8qÂ````` 8ab "8e,8Ňp<8` "D"L2D&H `|"H"|$<`@"H"@$!D`D"H2D$ D c8",8 < ` ` ``a b @` "8e,8ChÀa "D"L2D@"@` |"H"|@` @"H"@@@b D"H2D@"$Ba8",8@h` ` ``` a@a@ "8e,8K<8<8b@ "D"L2D$L b@|"H"|H<<c@"H"@DHDD`@D"H2D$̑D D `@8",8K < < ` ` `````````````````` - - -Figure 1: Snapshot of a sample interaction window - - -Note that several fileboxes have bad substances and that a special message is printed on their behalf. This indicates that if you don't wish to delete or back these up to a previous version, then phase 3 will rebuild them. (See Section 1.5 above.) - -If there are cards having user-defined types whose type definition code has not been loaded, then you'll get a message to that effect, something like " cards have unknown card types (FOO BAR)." At this point you should load the lisp files containing the definitions of the unknown card types. If not, then these cards will show up with bad substance in phase 2. If you have a card for which no substance versions could be read, then you'll also get unknown card type messages for it (reading something like " cards have unknown card types (NIL)"). This is because the inspector couldn't find a card type on the notefile for that card. - -A menu of options appears attached to the upper right corner of the interaction window. The particular options you get in that menu depend on the state of your notefile and are described below. The first two options appear in all cases. The other two may or may not be present in the menu you get. In any case, you should select one of the options before attempting any other NoteCards-related work. - -ABORT: Choosing this option aborts the Inspect&Repair process entirely, throwing away any changes you might have made (such as card deletions or back ups.) - -INSPECT CARDS: This brings up a menu of active card IDs with which you can inspect, delete, or back up particular cards. There is a "pull-across" menu item called INCLUDE DELETED CARDS, which if selected will include card IDs for deleted cards as well as active ones. Using this option, one can undelete deleted cards and restore some previous version. - -END INSPECT&REPAIR: This option is only available if it seems that you don't need to continue to the link rebuilding phase. You will not get this option if you've deleted any cards, or generally if there are problems with the notefile. Choosing this option causes the Inspect&Repair process to end gracefully (via a normal checkpoint and close notefile), thus skipping phase 3, rebuilding links. - -CONTINUE INSPECT&REPAIR: This option is only available if the notefile is in fairly good health (i.e. okay except for fileboxes to rebuild or global links to rebuild - see Section 1.5 above). Selecting it causes Inspect&Repair to move to phase 3 and rebuild your notefile's links. - -3. Running the Notefile inspector: Phase 2: Your chance to tinker - -After selecting INSPECT CARDS in the interaction window's attached menu, a menu containing Notecards IDs will pop up and be attached to the interaction window's lower left corner. It will contain IDs for all active cards and possibly deleted cards as well if you selected the submenu item INCLUDE DELETED CARDS described above. The menu can hold some 200 card IDs. If your notefile has more than that, then the menu will be composed of several pages each containing around 200 IDs. Rapid switching between pages is possible. - -Attached to the upper right corner of the cards inspector menu is a menu containing at least the two options: ABORT and DONE. If the menu has multiple pages (there are more than 200 active cards in the notefile), then the attached menu will also include the items NEXT PAGE, PREVIOUS PAGE, and FIRST PAGE. Selecting these causes the current menu to be swapped with either the next menu, previous menu, or first menu, respectively. - -Clicking ABORT causes the entire Inspect&Repair process to quit, throwing away any changes you've made. (This is equivalent to choosing ABORT from the inspector window as described in Section 2.) - -Choosing DONE from this attached menu indicates that you're done tinkering with card parts and wish to return to the main interaction window. Normally, this causes the card inspector menu to close and the phase 1 process outlined in Section 2 to be performed again. Thus the data area will be rescoured and new statistics on the health of your notefile will be printed. This cycle of scour data area (phase 1) followed by inspect (phase 2) can be repeated as often as desired. Eventually, you must either abort, end the Inspect&Repair process gracefully, or continue to phase 3. Because phase 1 can be quite slow for large uncompacted notefiles, there is one optimization: if you've made no changes in phase 2, then the data area scouring is not repeated in phase 1. Rather, the old information from the last scouring is recovered and used instead. - -If you've clicked DONE, but there are still cards with bad prop lists, titles, or links (because you haven't either deleted them or backed up their card parts to previous versions), you will be asked up to three questions. The list of card IDs of cards with bad prop lists is printed out and you're asked whether it's okay to set the prop lists of those cards to NIL. Then, the list of card IDs of cards with bad titles is printed out and you're asked whether it's okay to set the titles of those cards to "Untitled." Finally, card IDs for cards with bad links are printed out and you're asked whether it's okay to set the global links to nil. (Global links will be rebuilt as much as possible in phase 3. See Sections 1.5 and 4.) If you want phase 3 to be able to run, it is necessary to either answer yes to these questions or fix each of the bad card parts by hand in phase 2. - - -3.1 The card inspector menu - -In the card inspector menu, those IDs corresponding to deleted cards have a line drawn through them. Those having some sort of problem appear shaded. In addition, an upper-case letter suffix is attached to such IDs indicating the problem. For example, a shaded menu item NC00023SL indicates that ID NC00023 has bad substance and bad links. The letter codes are S, L, P, and T indicating bad substance, links, property list, and title, respectively. If such a letter code appears in lower case, then the indication is that the current version of that card part is beyond the last checkpoint pointer. For example, NC00023t indicates that NC00023's current title was changed since the last checkpoint. (There may have been a crash, for example, thus preventing the notefile from closing normally.) - -In addition to menu entries for each card ID, there is also one entry labeled LNTYPES allowing you to inspect (and possibly back up to a previous version) the Link Types for this notefile. - -If you button an ID in the card inspector menu, then a popup menu allows up to two choices Inspect and/or Delete. If the card is currently deleted (has a line drawn through it), then the Delete option is replaced by Undelete. Certain card IDs cannot be deleted and thus their popup menus only contain the Inspect option. These are the top level file boxes NC00001, NC00002, NC00003. The link types menu entry LNTYPES also does not allow deletion. - -Choosing Delete or Undelete from this popup menu causes the card to be deleted or undeleted, respectively and the line through the menu item either drawn or undrawn. Note, however, that this action (and all others) can be undone by choosing ABORT from either the card inspector menu or the interaction window menu. - -Choosing Inspect from the popup menu for a card ID entry brings up a card parts inspector for that card. - -3.2 The card parts inspector - -Figure 2 below shows an example of a card parts inspector. It is composed of four attached menus arranged vertically and one attached operations menu atop the stack. - - -$""""""" """"""" ```h7a`|`??chl660`0`f1a`a1cab""""""" l660`w~N p @j""*"""2#"2"2#&2b"*&&"""""""""""Ȃ8p.@P $ȂD1#"@P H|9 !!@AA$jb+##"2b*2'c/&&"""""""""""ȂD!#"! H$Ȃ8t! OH!n""""">"r"""""""""""""""""""""""""""興"""""""""""""" ~?"""""""""""""" 興興wá|={"""""""""""""" {wWw"""""""""""""" o}o{~߷興pox -{~߸興wo~߿"""""""""""""" wow}o~߷"""""""""""""" wyw߷興 -x|?{߸興"""""""""""""" """""""""""""" 興(@""""""""""""""" n#*#>"/2c&+""b""""""""""""""" b! "!A @@(! $ (" P@@(H "! $ (" P@~""""""""""""""" j"#+&*"*"f63+"bb""""""""""""""" @ ! | @@(@"!b!A @@(H@!!>A ~""""""""""""""" j""#"""""""""""""""""""""""""""""""" ((@""""""""""""""" N!>A @""""""""""""""" ! "!A @@(! $ (" P@@(H!! $ (" P@~""""""""""""""" H  $ D @@""""""""""""""" @! | @@(A!b!A @@(H@!>A ~""""""""""""""" H""""""""""""""" ((@""""""""""""""" N!!>A @""""""""""""""" b! "!A @@(! $ (" P@@(H ! $ (" P@~""""""""""""""" H "! $ D @@""""""""""""""" @"! | @@(@"!b!A @@(H@!!>A ~""""""""""""""" H""""""""""""""" (興""""""""""""" """"""""""""" w""""""""""""" w?={""""""""""""" wWw߷{{~߷w߶?x -{~߸""""""""""""" wߵ~߿""""""""""""" ߳~߷߷߷p߷?{߸""""""""""""" """"""""""""" @""""""""""""" b#"b""""""""""""""""""""""""""""""" qG ?A$ȉ H0@ A$ H P|$ HH!@A  $ """"""""""""" js&g&"c&?*"'3""""""""""""" @@@""""""""""""" @@""""""""""""" yG ?A$A H0@ A$ H P|$ HH!@A  $ """"""""""""" HqG A? '""""""""""""" @@""""""""""""" """""""""""""""" w"""""""""""""""" w"""""""""""""""" ?|{0{{w{w{o"""""""""""""""" pp"""""""""""""""" vvow{w{o"""""""""""""""" ww?;p"""""""""""""""" """""""""""""""" b""""""""""""""""""*"""""""""""""""" qxA@?ȈHC@BA@  """""""""""""""" j*b"*#bb"**b6"2*"""""""""""""""" BI!@C @?0BI" BB@" H@B)#B@>  """""""""""""""" jb:*f2b""*"bc"2*"""""""""""""""" BxC "~A?Ȉ@N """""""""""""""" @ """""""""""""""" qxA@?ȈHC@BA@  """""""""""""""" HB!@B @  """""""""""""""" BI!@C @?0BI" BB@" H@B)#B@>  """""""""""""""" HBDB "@A  """""""""""""""" BxC "~A?Ȉ@N """""""""""""""" """""""""""""""" """""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""" - -Figure 2: A card parts inspector - - -The four menus contain entries for every valid version of card parts for the card with ID NC00027. The top menu is for version of titles and below that are menus for versions of the card's substance, links, and prop list. For example, the Substance submenu contains entries for three versions of the substance of this card. The current version of each card part is shaded. Each menu entry gives the date that that version was written if available or the string "NO DATE AVAILABLE" if there is no date on the notefile. (The latter is the case for old notefiles prior to the time we began recording card parts write dates.) - -If the current version of the card part is bad, then the menu entry will be a string so indicating, for example, "BADSUBSTANCE." - -The title of the top menu includes the card's type and ID. In addition, each menu item contains a bit of information, in square brackets, before the date. In the title versions menu, this information is the first few characters of the title. In the substance versions menu, it is the number of bytes in the substance. In the links versions menu, it is a triple of numbers giving the number of to links, from links, and global links for this card. Finally, the proplist versions menu includes the number of entries on the property list for this card (i.e. twice the number of attribute-value pairs). - -Atop the stack of menus is an attached menu of operations, described below. - -ABORT: This aborts this card parts inspector, throwing away any changes made. - -UPDATE: This closes the card parts inspector, effecting any changes (backing up to previous versions of card parts) you might have done. - -DELETE: This option closes the card parts inspector and deletes the card. (Again, this can be undone by choosing ABORT from the card inspector menu.) - -UNDELETE: For cards that have been deleted, this option appears instead of DELETE. Choosing it causes the card to be undeleted. - -RESET: This causes the selections in the submenus to be restored to the values they had when the card parts inspector was first brought up. (Equivalent to doing ABORT and then inspecting this ID again from the card inspector menu.) - -Note that cards that can't be deleted don't have the DELETE option on their card parts inspector. - -Buttoning an entry in a submenu of a card parts inspector pops up a short menu unless the entry is for a bad version (e.g. "BADSUBSTANCE"). This menu contains at least the entry Inspect and possibly Change Selection, if the selected entry is not the same as the current one (i.e. not shaded). - -Choosing Inspect allows further inspection of the details of the selected card part version. For example, inspecting a title version brings up the Interlisp inspector on a record containing the title, date and card ID. Similarly, inspecting a links or prop list version brings up the Interlisp inspector on a record containing the lists of links (for to links, from links and global links) or the prop list. Note that if you wish to continue inspecting a links version down to the single link level, choose to inspect the link as a NOTECARDLINK. This is somewhat more communicative about record field names. Note also that changing values out in the Interlisp inspectors has no affect on the notefile and is ignored. - -All substance versions for cards having substance types TEXT, SKETCH and GRAPH can currently be inspected. (This includes all cards except those having user-defined substance types, like the NCFile card.) Inspecting a card's substance version will bring up a window showing a copy of the substance. (Note that changes to this copy have no affect on the notefile.) Any links in the substance of the card will show up as bracketed strings describing the link. - -Choosing Change Selection from the card part version popup menu causes the current selection to be changed, thus backing up the card to the selected version. (This change can be undone by resetting or aborting the card parts inspector as well as by later aborting the card inspector or interaction window.) - -4. Running the Notefile inspector: Phase 3: Rebuilding your links - -To complete the Inspect&Repair process, select the Continue Inspect&Repair option from the interaction window menu. This invokes phase 3, the links rebuilder. Normally, this simply rebuilds links from card substances (see Section 1.5). In certain circumstances, it may do extra work as well. If your link types list is bad, and you didn't back it up to a previous version, then phase 3 will rebuild it. If there are fileboxes with bad substances that you haven't either deleted or backed up to previous versions, then phase 3 will rebuild them. Finally, if there are cards with bad links that you haven't backed up or deleted, then phase 3 will rebuild those links as well. (It rebuilds ALL to links and from links anyway. For those cards, it will rebuild global links as well.) Again, for details, see Section 1.5. - -5. Tips and hints for using Inspect&Repair - -This section contains a list of strategies and tips for using Inspect&Repair. For the most part, they are ordered from the useful and obvious to the esoteric. Several of these are implicit in the first four sections of the document, but are repeated here for emphasis and completeness. - -When in doubt, abort! All your changes will be lost, but then if you're uncertain about what's happened this is the safe course. Often, in fact, you may simply want to check the health of your notefile and abort without tinkering. - -Fixing versus tinkering. There are two main ways to use the inspector, either for fixing a broken notefile, or tinkering with a healthy one. The latter case occurs when you wish to recover some card that you inadvertantly deleted. Or back up a card that you inadvertantly changed to a previous version. - -Compacting. Old versions of card parts have always been stored in notefiles, but up till now have been inaccessible. Thus, there was little reason not to compact your notefile often. Now there is a tradeoff between the need to save space by compacting versus the need to be able to back up using Inspect&Repair. Probably the safest course is to keep a backed up copy of the pre-compacted notefile around until you have confidence that the compacted one is healthy and that you have no need for previous versions of any of its cards. - -Inspect&Repair can't run when notefile is open. This means that if you are working in your notefile and notice a card you'd like to inspect a previous version of, you must record the card's ID and close the notefile. Then, run Inspect&Repair, find the card ID in the inspector menu and tinker with it as desired. - -Fixing enough problems to allow phase 3 to run. You can't run phase 3 unless Inspect&Repair thinks your notefile is above a certain threshold of health. There are certain problems it can handle (e.g. bad filebox substances, see Sections 1.5 and 4), and others that it can't (e.g. bad title). You have to decide either to fix these sorts of problems yourself in phase 2, let phase 3 attempt to rebuild them, or just abort the whole thing (always an option). - -Sometimes these decisions can be tricky. For example, suppose a filebox's substance is bad. Call it BadBox. Should you (a) delete BadBox altogether, (b) back its substance up to a previous version, or (c) allow phase 3 to rebuild it by looking for from links in other cards from BadBox? Option (c) may not be advisable if there was important text in BadBox or if the order of cards in BadBox was important. On the other hand, option (b) may be of little use if the last good version is too out of date (or if there is no good version at all). TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN TIMESROMAN" $#61T S3   ""WD\jA  BMOBJ.GETFN2 TIMESROMAN !  BMOBJ.GETFN22dCWv"[i<i BMOBJ.GETFN2 TIMESROMAN "s\LObN4C3,  / 1#lz \ No newline at end of file diff --git a/docs/misc/from_envos/progintface.ted b/docs/misc/from_envos/progintface.ted deleted file mode 100644 index bf87527..0000000 --- a/docs/misc/from_envos/progintface.ted +++ /dev/null @@ -1,284 +0,0 @@ -NoteCards Programmer's Interface -Release 1.2i -Randy Trigg -Xerox PARC - -Updated version: 18-Mar-85 -Modified: 26-Aug-85 by Randy Trigg -Modified: 1-Aug-85 by Lissa Monty - -Introduction -This document describes a facility whereby users with some programming know-how can obtain a lisp interface to NoteCards. In this way, they can create and modify Notefiles, cards and links under program control. -The functions described below are divided into 7 groups: -1. NoteFile Creation and Access -2. Creating and Accessing NoteCard Types -3. Creating NoteCards and FileBoxes -4. Accessing NoteCards and FileBoxes -5. Creating and Accessing Links -6. Creating and Accessing Link Labels -7. Handy Miscellaneous Functions - -1. NoteFile Creation and Access -For each of the following functions (except NCP.CloseNoteFile), the argument is a filename. The suffix ".NoteFile" is added if not already present. In any case, the filename used by NoteCards always has this suffix. - -(NCP.CreateNoteFile ) -If is not already a notefile, then create a notefile .NoteFile, and return this filename which can later be passed to NCP.OpenNoteFile. -(NCP.OpenNoteFile ) -If there is no currently open notefile, then open and make it the currently active NoteFile. Returns resultant stream if successful, else nil. If is non-nil, then a new file will not be created if the given one doesn't exist. If is non-nil, then if needed, the file will be converted to release1.1 format without user confirmation. -(NCP.CloseNoteFile []) -Closes if it is corresponds to a currently open Notefile. Returns its filename if successful. If is nil, then closes current open notefile. -(NCP.CheckpointSession) -Checkpoint the current Notecards session, first writing out any dirty cards. In case of a system crash or abort, the notefile can be recovered to the last checkpoint. Note that closing a notefile does a checkpoint. -(NCP.AbortSession) -Abort the current Notecards session, losing all work since last checkpoint or successful close. -(NCP.RepairNoteFile ) -Rebuilds the link structure of . It must *not* be currently open. -(NCP.CompactNoteFile ) -Copies to a later version, recovering space. Must not be open. -(NCP.CompactNoteFileInPlace ) -Compacts in place, replacing the old version. Must not be open. -(NCP.DeleteNoteFile ) -Removes the notefile. Must not be open. -(NCP.CurrentNoteFileStream) -Returns the currently open notefile stream if there is one, else nil. -(NCP.CurrentNoteFile) -Returns the full name of the currently active notefile if there is one, else nil. -(NCP.CheckOutNoteFile ) -Copies to unless is locked. If successful, creates a lock file in 's directory. The name of the lock file is formed by concatenating the atom LOCKFILE onto . -(NCP.CheckInNoteFile ) -Check lock file for . If none, then just copy to . If there is one and it's owned by us, then do the copy and remove the lock file. If there is a lock file owned by someone else or if date of is more recent than date of lock file, then print a message and do nothing. - - -2. Creating and Accessing NoteCard Types -These functions give the user access to the NoteCard user-defined types facility. For an explanation of this facility, see the NoteCards Types Mechanism documentation. - -(NCP.CardTypes) -(NCP.SubstanceTypes) -Returns lists of all currently defined NoteCard types and substances, respectively. -(NCP.CreateCardType ) -Makes a new NoteCard type with name , super type , substance . Any functions not appearing in will be inherited from . The CardWidth and CardHeight vars fields will be inherited if not specified in . Other vars fields default to nil. Note that, for now, specializing the FileBox card type is not allowed. -(NCP.CreateSubstanceType ) -Makes a new substance type with name and the given functions and vars fields. None of the function fields should be nil (but might conceivably be the function NILL). -(NCP.CardTypeSuper ) -Returns the super type of . -(NCP.CardTypeSubstance ) -Returns 's substance type. -(NCP.CardTypeLinkDisplayMode ) -Returns the link display mode of . -(NCP.CardTypeFn ) -(NCP.CardTypeVar ) -Returns the () field for . -(NCP.CardTypeInheritedField ) -Returns the value of the card type function or variable for . This is possibly different from the value returned by NCP.CardTypeFn or NCP.CardTypeVar in that if the defined value for of is nil, then the super is checked for a non-nil value. This checking continues until either a non-nil is found or we reach the top of the super hierarchy. In that case, the value of 's substance's is used. Note that among the variable fields, only CardDefaultWidth and CardDefaultHeight inherit, so for the other Var fields, the result of NCP.CardTypeVar is valid (even if it's nil). -(NCP.SubstanceTypeFn ) -(NCP.SubstanceTypeVar ) -Returns the () field for the substance . -(NCP.ValidCardType ) -Returns non-nil if is an existing NoteCard type. -(NCP.ValidSubstanceType ) -Returns non-nil if is an existing NoteCard substance type. -(NCP.ValidCardTypeFn ) -(NCP.ValidCardTypeVar ) -Returns non-nil if () is a valid function (variable) field for NoteCard types, for example, the litatom MakeCardFn (CardDefaultWidth). In other words, () can serve as the () arg to NCP.CardTypeFn (NCP.CardTypeVar). -(NCP.ValidSubstanceTypeFn ) -(NCP.ValidSubstanceTypeVar ) -These return non-nil if () is a valid function (variable) field for substance types. In other words, () can serve as the () arg to NCP.SubstanceTypeFn (NCP.SubstanceTypeVar). -(NCP.CardTypeFns) -(NCP.CardTypeVars) -(NCP.SubstanceTypeFns) -(NCP.SubstanceTypeVars) -These return lists of all valid Fn (Var) fields for NoteCard types and substances respectively. - -3. Creating NoteCards and FileBoxes -The following functions create various sorts of cards and boxes within the currently open notefile. - -(NCP.CreateTextCard <nodisplayflg> <props> <parentfileboxes>) -Creates and returns a new notecard having type Text. If <title> is non-nil, it is installed as the Notecard's title, otherwise the title is "Untitled." <props>, if non-nil, should be a prop-list of properties and values to be placed on the user property list of the Notecard. If <parentfileboxes> is non-nil, then it should be a list of FileBoxes in which to initially file this card. -(NCP.CreateFileBox <title> <nodisplayflg> <props> <childcardsboxes> <parentfileboxes>) -Creates and returns a new Filebox with title <title> (or a gensym'ed name if <title> is nil). It will initially contain child cards and boxes from the list <childcardsboxes> (if that arg is non-nil). If <parentfileboxes> is nil, then the new filebox will be filed in the value of (NCP.GetToBeFiledFileBox). The <props> arg is handled as it was for NCP.CreateNoteCard. -(NCP.CreateBrowserCard <title> <paramList> <nodisplayflg> <props> <parentfileboxes>) -Creates and returns a new browser card with given title, props and parents. <paramList> should be a prop list of browser parameters. The properties currently recognized are: -ROOTCARDS: A list of Notecards to serve as roots of the forest or lattice generated by the browser. If omitted or NIL then user is asked to choose root cards. -LINKTYPES: A list of link types to follow when creating the browser. Any label present in the list having the backarrow prefix ("_") represents that link type but in the reverse direction. This list can also contain the atoms ALL or _ALL in which case browsing will be done on all links in either the forward or reverse direction. If both ALL and _ALL are specified, then links in both directions will be used (generally making a mess). -DEPTH: The depth at which to cut off the browser. This should be a non-negative integer. If NIL or omitted, then will assume no limit. (Currently integers greater than 9 are assumed equivalent to infinity.) -FORMAT: This should be a list of one, two or three elements. The first should be an atom indicating grapher format. The choices are FAST (layed out as a forest, sacrificing screen space for speed), COMPACT (layed out as a forest, using minimal screen space), LATTICE (layed out as a directed acyclic graph, the default), *GRAPH* (layed out as a graph, i.e. virtual nodes are eliminated). The second element of the FORMAT list, if present, should be either HORIZONTAL (the default) or VERTICAL specifying whether the graph is layed on its side or up and down. The third element, if present, should be the atom REVERSE. This indicates that horizontal graphs should be layed out from right to left instead of left to right and that vertical graphs should be layed out from bottom to top rather than vice versa. -(NCP.CreateSketchCard <title> <nodisplayflg> <props> <parentfileboxes>) -Creates and returns an initially empty sketch/map card having given title, props, and parents. -(NCP.CreateGraphCard <title> <nodisplayflg> <props> <parentfileboxes>) -Creates and returns an initially empty graph card having given title, props, and parents. -(NCP.CreateCard <type> <title> <nodisplayflg> <props> <parentfileboxes> <otherargs>) -Creates and returns a card of the given (possibly user-defined) type, with given title, props, and parents. <otherargs> is a possibly nil list of args that will be passed to the MakeCardFn of <type>. Card is initially displayed or not according to value of <nodisplayflg>. -(NCP.MakeDocument <rootcard> <parametersProplist> <nodisplayflg> <props> <parentfileboxes>) -Creates and returns a Document card starting from <rootcard>. The default set of parameters for making documents can be accessed via NCP.DocumentParameters, but some of these can be given new values just for the duration of this MakeDocument by specifying a non-nil <parametersProplist>. For example, a value of '(TitlesFromNoteCards Bold ExpandEmbeddedLinks ALL) for <parametersProplist> would cause temporary changes to the values of the parameters TitlesFromNoteCards and ExpandEmbeddedLinks. As usual, the resulting card will have the given props and parents. -(NCP.MakeLinkIndex <linktypes> <backpointersP> <nodisplayflg> <props> <parentfileboxes>) -Creates and returns a LinkIndex text card consisting of a sorted record of all instances of links in the current notefile having one of the given link types. <linktypes> can contain the litatoms ALL and/or _ALL as well as any particular backwards links. (See the above description of NCP.MakeDocument.) Backpointer links are inserted in the text if <backpointersP> is non-nil. Resulting card will have given props and parents. - -4. Accessing NoteCards and FileBoxes -The following functions provide access to the cards and boxes present in the current notefile. Note that whether a card's window has been brought up on the screen has little or no effect on the following functions. If the user changes some field of a card while that card is visible on the screen, then the field will update itself automatically. Thus, users can switch between program-driven and screen-interface-driven modes at will. -Cards can be active or inactive. An active card has its information cached (on its property list) thus saving time at the expense of memory. All cards visible on the screen are active. Most of the following functions leave the card in the same state as it was when they started (except NCP.BringUpCard, which makes it active). Thus, users needing to do several consecutive operations to the same card should consider temporarily caching the card's information via NCP.ActivateCards (and then uncache with NCP.DeactivateCards). -Most of the following functions take as first argument a card or filebox. If this does not in fact correspond to an existing card or box, then an error message is printed and nil is returned. - -(NCP.BringUpCard <card> <region/position>) -Brings up on the screen the given card in the given region or at the given position. If <region/position> is nil, then user is asked to specify position with mouse. -(NCP.ActiveCardP <card>) -Returns non-nil if given card or box is currently active (i.e. information is currently cached in memory). -(NCP.ActivateCards <cardList>) -For each card or box in <cardList> (or just the one, if the argument is atomic), make it active (i.e. cache its information in memory). -(NCP.DeactivateCards <cardList>) -For each card or box in <cardList> (or just the one, if the argument is atomic), make it inactive (i.e. uncache its information back into the file). If any cards in <cardList> were on the screen then this will close their windows. -(NCP.CardType <card>) -Returns the type of <card> or NIL if the card does not exist. -(NCP.ValidCard <card>) -Returns non-nil if <card> exists (hasn't been deleted). (This is currently a synonym for NCP.CardType.) -(NCP.CardTitle <card> [<newtitle>]) -Returns old title of <card>. If <newtitle> is present, then set <card>'s title to <newtitle>. <newtitle> can be an atom or string. Note, however, that all titles are converted internally to strings by NoteCards. -(NCP.FileCards <cards> <fileboxes>) -Every card or box in <cards> is filed in every box in <fileboxes>. Either arg may be an atom or a list. -(NCP.UnfileCards <cards> <fileboxes>) -Every card or box in <cards> is unfiled from every box in <fileboxes>. Furthermore if <cards> is the litatom ALL, then the boxes in <fileboxes> will be cleared of all children. Similarly, if <fileboxes> is the litatom ALL, then the cards and boxes in <cards> will be unfiled from all their parent boxes. Either arg may be an atom or a list. -(NCP.CardParents <card>) -Returns list of fileboxes in which <card> has been filed. -(NCP.FileBoxChildren <filebox>) -Returns list of children of <filebox> in the order in which they appear in the box's textstream. -(NCP.GetLinks <cards> <destinationCards> <labels>) -Returns list of all links from any of <cards> to any of <destinationCards> having any label in <labels>. Any of these arguments can be nil. For example, if <destinationCards> is nil, then all links pointing from <cards> to anywhere with a label in <labels> are returned. If both <cards> and <destinationCards> are nil, then this returns all links having a label in <labels>. If all three args are nil, then this is a slow synomym for NCP.AllLinks. -(NCP.CardPropList <card>) -Returns the prop list of the given card. -(NCP.CardProp <card> <propname> [<newvalue>]) -Returns old value of property <propname> on <card>'s prop list. If <newvalue> is present, then set <card>'s <propname> property to <newvalue>. (Semantics are analogous to the Interlisp function WINDOWPROP.) -(NCP.CardAddProp <card> <propname> <newitem>) -Adds <newitem> to the list present on the <propname> property of <card>. Returns old value of property. (Semantics are analogous to WINDOWADDPROP.) -(NCP.CardDelProp <card> <propname> <itemToDelete>) -Deletes <itemToDelete> from the <propname> property of <card> if it is there, returning the previous value of that property. If not there, return nil. (Semantics are analogous to WINDOWDELPROP.) -(NCP.CardSubstance <card>) -Returns the substance of <card>. This is a textstream in the case that the type of <card> has TEXT substance. Otherwise, it is the appropriate underlying structure if <card> has GRAPH or SKETCH substance. -(NCP.CardRegion <card>) -Returns the region of <card>. This works even if <card> is not currently up on the screen, since the region information is stored on the notefile. -(NCP.CardAddText <card> <textstr> <loc>) -Adds the text within the string <textstr> to the text card <card>. If <loc> is the litatom START or END, then the text will be placed at the start or end of the card respectively. If <loc> is a number, then it is assumed to be a character count within the card at which to place the new text. If <loc> is NIL, then the text is placed at the current cursor location. -(NCP.ChangeLoc <card> <loc>) -Changes the cursor's location in <card>'s textstream to <loc>. Possible values for <loc> are as described for NCP.CardAddText. -(NCP.DeleteCards <cards>) -Deletes the given cards and fileboxes from the current notefile, or deletes just the one if <cards> is atomic. -(NCP.FileBoxP <card>) -Returns non-nil if <card> is a filebox. -(NCP.AllCards) -Returns a list of all extant cards for the current notefile. -(NCP.AllBoxes) -Returns a list of all fileboxes in the current notefile. -(NCP.MapCards <fn>) -Maps down the set of all cards in the current notefile, applying <fn> to each. -(NCP.MapBoxes <fn>) -Maps down the set of all fileboxes in the current notefile, applying <fn> to each. -(NCP.GetContentsFileBox) -(NCP.GetOrphansFileBox) -(NCP.GetToBeFiledFileBox) -These functions retrieve the three predefined FileBoxes for the currently open NoteFile. These boxes can be modified (but not deleted) by the user in the same way as any other filebox. - -5. Creating and Accessing Links -Links can be connected to points within a card or to the card as a whole, thus the following four link creation functions are provided. Those that connect to points within a card specify at least one of <fromloc> or <toloc>. If nil, then the link icon is placed at the current cursor location in the card. If the arg is the litatom START or END, then it is placed at the front or end of the text respectively. If the loc arg is a number, then it is assumed to be a character count at which to place the link icon. - -(NCP.GlobalGlobalLink <label> <sourceCard> <destinationCard>) -Creates and returns a new link with label <label>, connecting <sourceCard> to <destinationCard>. -(NCP.LocalGlobalLink <label> <sourceCard> <destinationCard> <fromloc> <displaymode>) -Creates and returns a new link with label <label>, connecting from <fromloc> of <sourceCard> card to <destinationCard>. If <displaymode> is non-nil, then the new link is displayed in the given mode. Otherwise the default displaymode for the source card's type is used. -(NCP.GlobalLocalLink <label> <sourceCard> <destinationCard> <toloc>) -Not implemented at this time. -(NCP.LocalLocalLink <label> <sourceCard> <destinationCard> <fromloc> <toloc>) -Not implemented at this time. -(NCP.LinkDesc <link>) -Returns list of three items (<label> <sourceDesc> <destinationDesc>) where <label> is the link type and <sourceDesc> and <destinationDesc> have the form (<anchor mode> <card> <loc>). <anchor mode> is either LOCAL or GLOBAL, <card> is the card at this end of the link, and <loc> gives a position in the text of <card> if <anchor type> is LOCAL and <card>'s substance's type is TEXT. -(NCP.LinkDisplayMode <link> [<newdisplaymode>]) -Returns old diplay mode of <link>. If <newdisplaymode> is present, then set <link>'s displaymode accordingly. If non-nil, it can be one of the litatoms Icon, Title, Label, or Both. Or it can be an instance of the LINKDISPLAYMODE record. This has the 3 fields SHOWTITLEFLG, SHOWLINKTYPEFLG, and ATTACHBITMAPFLG. Each field can have one of the three values T, NIL, or FLOAT. If a field, say SHOWTITLEFLG, has value FLOAT then the corresponding global parameter (DefaultLinkIconShowTitle, in this case) will be consulted to decide whether or not to display the destination card's title in this icon. (See Section 7 for a description of the global parameters.) -(NCP.LinkLabel <link> [<newlabel>]) -Returns old label of <link>. If <newlabel> is present, set <link>'s label to <newlabel>. -(NCP.GetLinkSource <link>) -Returns the card at the source end of <link>. -(NCP.GetLinkDestination <link>) -Returns the card at the destination end of <link>. -(NCP.DeleteLinks <links>) -Removes all links in <links> (or the single one if <links> is atomic). -(NCP.ValidLink <link>) -Returns non-nil if <link> is a link in the current notefile. -(NCP.AllLinks) -Returns a list of all existing links in the current notefile. (This is equivalent to but faster than (NCP.GetLinks NIL NIL NIL).) -(NCP.MapLinks <fn>) -Maps down the set of all links in the current notefile, applying <fn> to each one. - -6. Creating and Accessing Link Labels -The following functions allow the user to manipulate link labels. - -(NCP.CreateLinkLabel <label>) -Creates a new link label with name <label> for current notefile unless there is already one defined by that name. -(NCP.DeleteLinkLabel <label>) -Deletes the link label <label> from the current notefile. The label must exist and must not be the label of any existing link, and it must not be a system-defined link label (e.g. SubBox or FiledCard). -(NCP.RenameLinkLabel <label> <newlabel>) -Changes any links having label <label> to have label <newlabel>. <label> must exist and neither <label> nor <newlabel> should be a system-defined label. -(NCP.GetLinkLabels) -Returns a list of all existing link labels including system-defined ones. -(NCP.GetReverseLinkLabels) -Returns a list of the reverse labels for every existing link label. Thus, whereas SubBox would appear in the list returned by NCP.GetLinkLabels, _SubBox would appear in the list returned by NCP.GetReverseLinkLabels. -(NCP.GetUserLinkLabels) -Returns a list of all existing user-defined link labels. -(NCP.ValidLinkLabel <label>) -Returns non-nil if <label> is a defined link label for current notefile. - -7. Handy Miscellaneous Functions - -(NCP.TitleSearch <key> <key> ... ) -Returns a list of all cards having all of the <key>s (can be atoms, numbers or strings) within their titles. -(NCP.PropSearch <propOrPair> <propOrPair> ...) -Returns a list of all cards such that for every <propOrPair> arg, if it is atomic, then the card must contain that property. If it is a list of two elements, then the card must have a property EQ to the first element with value EQ to the second element. -(NCP.WhichCard <x> <y>) -Returns the card currently displayed on the screen whose window contains the position in screen coordinates of <x> if <x> is a POSITION, the position (<x>,<y>) if <x> and <y> are numbers, or the position of the cursor if <x> is NIL. Returns NIL if the coordinates are not in the window of any card. If they are in the window of more than one card, then returns the uppermost. If <x> is a window, then NCP.WhichCard will return the card associated with that window. -(NCP.CardFromWindow <window>) -Returns the card associated with <window>, or NIL if not a notecards window. -(NCP.CardWindow <card>) -Returns <card>'s window if <card> is currently displayed somewhere on the screen. -(NCP.SelectCards) -Returns a list of those cards selected from the screen. A menu appears near the top of the screen with buttons for "DONE" and "CANCEL". Selections are made by left buttoning in the title bars of the desired cards. -(NCP.DocumentParameters <parametersProplist>) -Returns the old value of the document parameters in the form of a proplist. If <parametersProplist> is non-nil then it should be a proplist whose properties are (some of the) valid document parameter names and whose values are permissible values for those parameters. The valid parameters and possible values are as follows: -HeadingsFromFileboxes: NumberedBold, UnnumberedBold, NONE. -TitlesFromNoteCards: Bold, NotBold, NONE. -BuildBackpointers: ToCardsBoxes, ToCards, ToBoxes, NONE. -CopyEmbeddedLinks: ALL, NONE, <listOfLinkLabels>. -ExpandEmbeddedLinks: ALL, NONE, <listOfLinkLabels>. -[See the Notecards user's manual for an explanation of these parameters and how their values affect the document created.] -(NCP.NoteCardsParameters <parametersProplist>) -Returns the old value of the global Notecards parameters in the form of a proplist. If <parametersProplist> is non-nil then it should be a proplist whose properties are (some of the) valid document parameter names and whose values are permissible values for those parameters. The valid parameters and possible values are as follows: -DefaultCardType: <legalCardType> -FixedTopLevelMenu: T or NIL -ShortWindowMenus: T or NIL -ForceSources: T or NIL -ForceFiling: T or NIL -ForceTitles: T or NIL -CloseCardsOffScreen: T or NIL -MarkersInFileBoxes: T or NIL -AlphabetizedFileBoxChildren: T or NIL -DefaultLinkIconAttachBitmap: T or NIL -DefaultLinkIconShowTitle: T or NIL -DefaultLinkIconShowLinkType: T or NIL -LinkDashingInBrowsers: T or NIL -ArrowHeadsInBrowsers: one of the litatoms {AtEndpoint, AtMidpoint, None} -SpecialBrowserSpecs: T or NIL -AnnoAccessible: T or NIL -EnableBravoToTEditConversion: T or NIL -DefaultFont: a font -LinkIconFont: a font -Here, <legalCardType> should be an existing Notecard type, i.e. one that appears in the list returned by NCP.CardTypes. -(NCP.PrintMsg <window> <clearFirstFlg> <arg1> <arg2> ...) -Prints a message in the prompt window of <window>. If <window> is NIL, then prints message in the Lisp prompt window. If <clearFirstFlg> is non-nil, then clears the prompt window first. The args are PRIN1'ed one at a time. -(NCP.ClearMsg <window> <closePromptWinFlg>) -Clears the prompt window associated with <window> (or with the main Lisp prompt window if <window> is NIL) and closes it if <closePromptWinFlg> is non-nil. -(NCP.AskUser <Msg> <prompt> <FirstTry> <ClearFirstFlg> <MainWindow> <DontCloseAtEndFlg> <DontClearAtEndFlg> <PROMPTFORWORDFlg>) -This function can be used to ask questions of the user in a window's prompt window. The <Msg> and <prompt> are printed along with <FirstTry> (if non-nil). The value returned is whatever the user types. If <ClearFirstFlg> is non-nil, then the prompt window is cleared first. If <MainWindow> is nil, then the top level prompt window is used. If <DontCloseAtEndFlg> is non-nil, then the prompt window won't be closed after the question is answered and if <DontClearAtEndFlg> is non-nil, then the prompt window won't be cleared at the end. If <PROMPTFORWORDFlg> is non-nil, then the PROMPTFORWORD typein protocol will be used rather than TTYIN. The former doesn't allow mouse editing of the string typed in. On the other hand, typing automatically overwrites the prompt when PROMPTFORWORD is used. -(NCP.AddTitleBarMenuItems <Win> <NewMenuItems>) -Adds the given menu items to the left button title bar menu of <Win>. <Win> should be the window of a visible notecard. -(NCP.GetDates <Card>) -Returns a NOTECARDDATES record structure containing the dates of last modification of each of the four card parts of <Card>. The fields of the record are SUBSTANCEDATE, TITLEDATE, LINKSDATE and PROPLISTDATE. - - -�������$�$��� �������������������������� ������������������������������������������������������������������������������������ ���������������������������� ��������������������������������������������������������GACHA� ��������1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))� ��������� HELVETICA��������� HELVETICA�������� HELVETICA��������� HELVETICA� �������� HELVETICA� �������� HELVETICA� �������MODERN� ������� HELVETICA� �������� HELVETICA��������� HELVETICA� ��������� HELVETICA��������� HELVETICA� ������� HELVETICA�������� TIMESROMAN� �������� TIMESROMAN� ������� TIMESROMAN� ���������������� ���� -���������������� -������������� ������������� ���������������������������������������%�������������#�������������������������� ����������� ������������� ���������:���� ���������!���� ���������*���� ���������%���� ���������&���� ���������!���� ���������'���� ���������"���� ������������� ���������"���� ������������� ������������� ��������� ���� ������������� ���������F���� ������������ �������������������� ������������� ������������� ������������� ������������� ���������`���� ������������� ����������������M���� ��������� ���� ����������������L���� ���������(���� ���������M���� ��������� ���� ���������4���� ������������� ���������F���� ������������� ���������R���� ���������3���� ������������� ���������2���� ��������A���� �����������������������������������+����������������� ������������� ������������� ������������� ���������T���� ���������[���� ������������ ���������I���� ������������� ������������� ���������"���� ������������� ����������������!���� ���������$���� ����������������)���� ������������� ������������� ����������������*���� ����������������,���� ���������������q���� ���������'���� ���������(���� ����������������?���� ������������� ����������������8���� ���������$���� ����������������B���� ������������� ������������� �������������������� ��������� ���� ���������"���� �������������������� ������������� ������������� ������������� ������������� ����������������`���� ������������� ���������%��������������������c���� �����������������������������E���� ������������������� ���������V���� ���������������s���� ���������T���� �������������������� ��������� ����������� ��������� ���������� �������������������� ���������������(���� ����������������G���� ����������������_���� ���������F���� ����������������Z���� ���������T���� ������������������� ���������[���� ���������������7���� ���������Y���� ������������������� ������������� ���������'���������������� ������������ ������������� ����������������������*���� �������������������� ������������� ����������������k���� ������������� �������������������� ��������� ���� �������������������� ������������� ����������������>���� ������������� ����������������i���� ���������#���� �������������������� ���������#���� ����������������i���� ���������%���� ���������������Y���� ������������� ����������������:���� ������������� ����������������a���� ���������2���� ������������������� ������������� ����������������)���� ���������-���� �������������������� ���������-���� �������������������� ���������2���� �������������������� ������������� �������������������� ������������� �������������������� ���������(���� ���������������q���� ������������� �������������������� ������������� ���������o���� ������������� ����������������(���� ������������� ����������������=���� ������������� ����������������9���� ������������� ����������������O���� ������������� ����������������S���� ������������� ������������� ������������� �������������������� ������������� ����������������"����������������������� �����������������������������=���� ����������������a���� ���������T���� ������������������� ���������D���� �������������������� ���������N���� ������������� ������������� ������������������� ���������/���� ������������������� ���������#���� ����������������Z���� ������������� ����������������.���� ������������� ����������������3���� ������������� ����������������G���� ������������� ����������������=���� ������������� �������������������� ������������� ����������������S���� �����������������������������"��������������������A���� ��������������������������������� ����������������r���� ������������� �������������������� ���������(���� �������������������� ������������� ����������������J���� ������������� �������������������� ������������� ����������������9���� ������������� ����������������I���� ����������������������"���������������������������������"���� ����������������n���� ���������/���� �������������������� ������������� ������������������� ������������� ����������������M���� ������������� ����������������R���� ������������� �������������������� ���������-���� ���������������G���� ����������������&���� �������������������� ����������������)���� ����������������"���� ����������������!���� ���������|���� ���������.���� ���������������O���� �������������������� ����������������������� ���� ����������������������� ���� ���������������� ������� ���� ���������������� ������� ���� ���������������� ������� ���� ����������������������� ��������������������������� ���� ����������������������� ��������������������������� ���� ����������������������� ���� ����������������������� ���� ����������������������� ���� �����������������������4���� ����������������������� ���� ����������������������� ���� ����������������������� ���� ���������������� ����������� ���������������� ������� ���� ���������x���� ���������9���� �������������������� ���������+���� �������������������� ������������� ���������������"���� ���������/���� ����������������y���� ������������� �������������������� ����������������������������������iz \ No newline at end of file diff --git a/docs/misc/from_envos/releaseannouncement.ted b/docs/misc/from_envos/releaseannouncement.ted deleted file mode 100644 index c14d51a..0000000 Binary files a/docs/misc/from_envos/releaseannouncement.ted and /dev/null differ diff --git a/docs/misc/from_envos/releasenotes.ted b/docs/misc/from_envos/releasenotes.ted deleted file mode 100644 index 76c24da..0000000 --- a/docs/misc/from_envos/releasenotes.ted +++ /dev/null @@ -1,241 +0,0 @@ -NoteCards Release1.2i Announcement - -Xerox Corporation - -Randy Trigg -Frank Halasz - - -[Location: {qv}<notecards>release1.2i>notecards.dcom] -[First written: 3/27/85 Randy Trigg] -[Last updated: 8/26/85 Randy Trigg] - -This document updates the NoteCards Release1.1 User's Manual, describing changes and new features for Release1.2i. As usual, send bug reports to NoteCardsSupport.pa (or use the Lafite SendMail middle button menu) and matters of more global interest to Notecards^.pa. - -You must be in Intermezzo to run NoteCards Release1.2i. From now on, you can depend on the letter suffix following the release number to indicate the appropriate version of Interlisp. - -Changes from 1.1 are mostly in the following areas: the NoteCards browser, notefiles interface, link icon display and user interface. In addition, there are various miscellaneous changes, a couple of new card types, and fixes of several outstanding 1.1 bugs. - - -1. Operating on a Notefile. - -Checkpointing and aborting a session: - -A fundamental change was made to the way Notecards updates its working notefile that allows 1.2i users to checkpoint their work, abort a session (losing work since the last checkpoint), and recover more gracefully from crashes. First, a word about the way Notecards notefiles are structured. - -A notefile consists of two parts, an index area and a data area. The index includes for each notecard, several pointers into the data area. There are separate pointers for the notecard's substance, title, prop list, and links. When, say, a notecard's title is changed, the new title is written at the end of the data area (in fact the end of the file) and the index pointer is changed. In Release1.1 (and earlier), the index modifications happened out on the file as they occured. Now, in Release1.2i they happen in an in-core array and are not written to the file till checkpoint (or close) time. In addition, there is a checkpoint pointer that points to the end of file at the time of the last checkpoint or close. New data (such as a new title) is still written to the file, but always at the end of the file. Thus if a crash occurs and later the notefile is reopened, Notecards can notice the extra data beyond the checkpoint pointer and truncate the file at that point (if you confirm). - -More concretely, there are now two new NoteFile Ops menu entries: "Checkpoint Session" and "Abort Session." Checkpointing causes any active cards to have their contents saved to the notefile (but not closed), the index array to be written back out to the file, and the checkpoint pointer to be reset to the end of the file. (Note that closing a notefile automatically does a CheckpointSession.) Aborting a session causes Notecards to close down, discarding all work since the last checkpoint or close. - -When a notefile is opened, the checkpoint pointer is compared with the end of file pointer. If they don't agree, then you're asked whether the file should be truncated. You're also given the option of saving the extra work since the last checkpoint to a file. If valuable cards were created (or modifications made) since the last checkpoint, then you should answer yes and provide the name of a file in which to store the truncated information. - -Next, you should open the truncated notefile and bring up a separate TEdit window on the file containing the truncated information. Though TEdit formatting information is lost, you can recover a card's text by browsing this file. (Note that scrolling from back to front will retrieve the most recent version of each card.) - -[Note that closing (or saving without closing) a card writes it out to the file, but does not force the index to be updated. Thus, if crashes are anticipated, do CheckpointSession often.] - -Compacting a Notefile: - -Because Notecards never actually overwrites any information in the data area of a notefile, it is necessary to periodically compact the notefile. This facility has been improved in Release1.2i in two ways. It is now possible to specify a target file name for the compaction (rather than always going to the same name), and it is now possible to compact a notefile in place. These two choices form a submenu of the CompactNotefile entry in the Notefile Ops menu. - -Copying, restoring, and backing up notefiles: - -The menu entries for RestoreFromFloppy and BackupToFloppy have been removed from the NotefileOps menu. In their place is a general CopyNotefile option. It prompts you for source and target file names for the copy. - -There is a new facility for checking in and out notefiles using locks for multiple users sharing a notefile. Still in the experimental stages, it must be called via the programmer's interface. See the programmer's interface documentation. - -Inspecting and healing broken notefiles: - -The old Repair option on the Notefile Ops menu is now called Inspect&Repair and has been improved considerably. Before rebuilding the links of your notefile, it reads the entire data area looking for good card parts (including outdated and deleted versions). It then allows you to delete and/or back up card parts to previous versions. All this is done interactively through a menu driven interface. Only when the notefile is deemed healthy are you allowed to perform the link rebuilding. For details on the operation of Inspect&Repair, see the document titled NotefileInspector.ted. - - -2. Changes to the Notecards user interface. - -Stylesheets: - -Several places in Notecards now use Tayloe Stansbury's stylesheet package for user interaction, in particular, changing a link's display mode, a browser's specs, or the default text and link icon fonts from the global parameters menu. Stylesheets allow packaging of several menus together with "buttons" governing individual menus and the stylesheet as a whole. Menus within a stylesheet can optionally allow multiple selections. All stylesheets have three global buttons "Done," "Reset," and "Abort." "Done" causes the new values to be accepted. "Reset" causes the original values (when the stylesheet was entered) to be recovered. "Abort" causes the stylesheet to be exited without changing any values. Menus allowing multiple selections also have the buttons "All" and "Clear" attached. "All" causes all values in the menu to be selected while "Clear" unselects the entire menu. Toggling of menu entries is accomplished by left clicking the entry. - -New global parameters: - -The top level global parameters menu has several new additions. These (as well as some old 1.1 ones) are described below. To change the value of a global parameter, click on the variable name. The value will toggle between "Yes" and "No" if binary, and allow selection from an appropriate menu otherwise. - -ForceSources, ForceFiling, ForceTitles: These dictate whether to bother you at card closing time about incomplete information for the card. If ForceFiling is set, for example, then you are asked to designate parent fileboxes of the card before closing. Similarly, for sources and titles. If ForceFiling is off (value is "No"), then cards without parents will be filed automatically in the ToBeFiled filebox at closing time. If ForceTitles is off, then an untitled card will be left with the title "Untitled." ForceTitles and ForceFiling default to "Yes," while ForceSources defaults to "No." - -CloseCardsOffScreen: If "Yes," then when a card is closed, it is first dragged off screen so that the close happens invisibly. - -MarkersInFileBoxes: If "Yes," then new fileboxes will contain the markers "FILE BOXES" and "NOTE CARDS." New child boxes are inserted under the FILE BOXES marker and new child cards under the NOTE CARDS marker. If "No," then new fileboxes come up without markers and new children are inserted at the current cursor position. Note that regardless of the MarkersInFileBoxes setting, if a filebox has no markers (because you've deleted them) then new children are inserted at the cursor position. - -AlphabetizedFileBoxChildren: If "Yes," then new fileboxes will have the property OrderingFn set to NC.IDAlphOrder. This will cause any new cards put into such a filebox to be inserted in alphabetical order. For further details on OrderingFn's for fileboxes see Section 4. - -DefaultLinkIconAttachBitmap, DefaultLinkIconShowTitle, DefaultLinkIconShowLinkType: These dictate the manner in which link icons are displayed if not currently specified in the icon. There are three fields of a link's display mode that can be set, unset, or floated independently. If a field is floated, then the global parameter for that field is consulted. For example, if a link icon's display mode has value FLOAT for the ShowTitle field, then whether the title gets shown inside the link icon depends on the value of DefaultLinkIconShowTitle. See below for a further description of a link's display mode. - -LinkDashingInBrowsers: If "Yes," then browser links are drawn with dashed lines with the dashing style corresponding to the link's type. See Section 3 for further details on browser changes. Defaults to "No." - -ArrowHeadsInBrowsers: This dictates whether arrow heads are drawn on browser links. The variable can be set to either "AtMidpoint," "AtEndpoint," or "None." See Section 3 for details. Defaults to "None." - -EnableBravoToTEditConversion: If "Yes" then TEdit checks when getting a file whether that file is in Bravo format and if so, converts. This defaults to "No" for efficiency. - -DefaultFont: This dictates the font that new text cards default to. - -LinkIconFont: This dictates the font for text appearing in link icons. - - -Link icon display mode: - -The display mode of a link icon can be changed by middle buttoning in the icon and selecting from the three menus in the resulting stylesheet. These are: AttachBitmap, ShowTitle, and ShowLinkType. AttachBitmap, if "Yes," causes link icons to be shown with a bitmap representing the type of the destination card attached at the left. ShowTitle and ShowLinkType, if "Yes," cause the link icon to contain the title of the destination card and/or the link type. Any of the three fields can have the value FLOAT, in which case the appropriate global parameter will be consulted. (See description of global parameters above.) If all fields are set to "No" (or the floating ones inherit No from the global parameters), then a small, uninformative icon is used to display the link. - -"Pushing" and "Pulling" link icons: - -There are now two ways to move or copy a link icon between cards or within a card. "Pulling" works like TEdit shift-select. That is, to move an icon, put the cursor where you want to move to and hold down the shift key (or shift and ctrl keys) while left clicking in the left or right quarter of the icon. The new style is called "pushing" and is done by holding down the shift key while left clicking in the middle part of the icon. Then move the cross-hairs cursor to the icon's new home and left-click. To abort a "push," just left click in the background. Note that "pushing" currently only works for copying, not moving. - -Specifying notefile names and card titles: - -A different editor has been incorporated into Notecards for obtaining card titles, file names, etc. This editor is the same one used in the top level lisp exec window (TTYIN). Thus you can change the title (or file name) given as prompt via mouse edits. - -3. Changes to the Notecards browser. - -Multiple roots: - -Browsers can now contain multiple roots, in which case the graph will be laid out as a forest. - -Dashed links: - -Dashed browser links was a rarely used option in Release1.1, largely because of speed considerations. The speed of drawing dashed links has improved in Release1.2i by taking advantage of improvements in Grapher. There are currently nine different dashing styles possible. If a browser contains instances of more than nine different link types, then the last dashing style will be used repeatedly for each link type beyond the ninth. As before, link dashing is a user-settable option in the GlobalParameters menu (see Section 2). - -Arrowheads: - -Arrowheads can now be drawn on browser links. These show the direction of the notecards link being represented in the browser. This is a user-settable parameter in the GlobalParameters menu with possible values AtMidpoint, AtEndpoint, or None. If AtMidpoint or AtEndpoint is specified, then arrowheads will be drawn at link midpoints or endpoints, respectively. However, in either case, if two browser nodes are connected by more than one link, then any arrowheads for those links will appear at the midpoints (so as not to overlap). - -Browser specs: - -Whereas in Release1.1 only the link types to traverse could be specified, in Release1.2i, link types is one of a number of browser specs. Also included are browser depth, format, and orientation. These are accessible through a BrowserSpecs stylesheet, a collection of 5 menus. For general details on the stylesheet interface see Section 2. In this case, the forward and backward link types menus are multi-selectable, that is, more than one entry can be chosen. The other three menus are used to make single selections. - -Forward and backward link types function as in Release1.1. That is, the browser will contain only nodes for cards reachable from the root cards by following forward links in "line of direction" or backward links in "reverse line of direction." - -Browser depth is chosen from a menu containing entries for the integers 0 through 9 and INF (or infinite depth). The default is INF, meaning that the browser will not be cut off until there are no more links to follow from leaf nodes. Choosing depth 0 means that only the root nodes will appear (and no links). - -Browser format is one of *GRAPH*, LATTICE, COMPACT, or FAST. The latter three are provided by the grapher package and correspond to lattice, compact forest and fast forest, respectively. COMPACT and FAST generate virtual nodes (in double boxes) whenever two or more links would be drawn to the same node. LATTICE only generates virtual nodes when a cycle exists in the graph. *GRAPH* is a new format that never generates virtual nodes. The drawback to using *GRAPH* is that a cycle can cause lines to be drawn that cross boxes or overlap other lines. Thus you may have to move nodes around for legibility after computing the browser. The default is LATTICE. - -Browser orientation is one of Horizontal, Vertical, Reverse/Horizontal, or Reverse/Vertical. These specify whether the graph is layed out left-to-right, top-to-bottom, right-to-left, or bottom-to-top, respectively. The default is Horizontal. - -New middle button title bar menu options: - -Several new entries have been added to the middle button menu invoked from a browser's title bar. The options are now RecomputeBrowser, RelayoutGraph, ReconnectNodes, UnconnectNodes, ExpandBrowserNode, GraphEditMenu, and ChangeBrowserSpecs. - -RecomputeBrowser causes the current contents of the browser to be thrown away and recomputed as in Release1.1. However, in Release1.2i, you can optionally specify a new set of root nodes. - -RelayoutGraph does not rebuild the graph, but rather causes the nodes and links of the graph to be repositioned on the screen (using Grapher's LAYOUTGRAPH). This will destroy any work you have done moving nodes within the graph. - -ReconnectNodes first causes any link edges in the graph to be erased. (Note, however, that non-link edges, those created by "AddEdge" as described below, are ignored.) Then, each node in the graph is connected to every other node in the graph for which there is a link between them having one of the currently selected link types. This can be useful for several reasons: - -1. when the linking structure between cards has changed, but the current browser layout needs to be preserved. - -2. when some browser nodes need to be moved, but dragging the connected links is too slow. In this case, do UnconnectNodes followed by ReconnectNodes (after you've moved the nodes around). - -3. when special browser layouts are desired. For example, suppose you like the layout that Grapher gives you when certain links are left out or when you limit the depth. Then calling ReconnectNodes will fill in the missing links without affecting the graph's layout. - - -UnconnectNodes simply erases all edges in the browser. This is useful for positioning a browser's nodes before invoking ReconnectNodes. - -ExpandBrowserNode allows you to enlarge the graph under a given node. After selecting a node, you're asked for a depth (defaults to 1). The graph is then expanded under the selected node to the given depth, following any currently selected links. Note that ExpandBrowserNode calls LAYOUTGRAPH so any existing special node arrangements will be lost. - -GraphEditMenu brings up the graph editing menu. See the description below. - -ChangeBrowserSpecs brings up the BrowserSpecs stylesheet to allow you to change any of the browser specs. These changes will be noticed at the next RecomputeBrowser, ExpandBrowserNode, etc. - -Editing the browser manually and "structure editing": - -The browser can be edited through the use of the GraphEditMenu. This menu can be obtained either by right-buttoning in the browser window or by choosing GraphEditMenu from the title bar middle button menu. The GraphEditMenu includes options for "structure editing"; that is, changing underlying NoteCards structure by editing the browser. The old options for editing without changing structure are also present. Given below are the menu items in GraphEditMenu and the actions they engender. - -CreateCard&Node causes a new card to be created in the current Notefile and a corresponding node for it to be included in the browser. You're asked for the type of the new card, its title, and where to position the node representing it. - -CreateLink&Edge causes a new link to be created between two existing cards and a corresponding edge to be drawn in the browser. (We call such an edge representing a Notecards link, a "link edge." See AddEdge below for creating non-link edges.) You're asked for the "From" and "To" nodes in the browser corresponding to the cards to be linked as well as a link type. The link icon for the new link is positioned at the cursor point in the From card if the card has text substance and an open window. Text cards with closed windows have links inserted at the start of the text stream. Otherwise, the new link is a global link. You can have multiple link edges between pairs of cards. In this case the edges are displayed in a spline or "flower" arrangement. - -DeleteCard&Node causes a card to be deleted and its corresponding node in the browser to be removed. You are asked first to choose the node representing the card to be deleted and then to confirm the removal of the node (type "y" to confirm) and the deletion of the card. If the selected node is one of a set of virtual nodes (double boxed), then all nodes in the set (i.e. representing the given card) are removed. - -DeleteLink&Edge causes a link in the Notefile to be deleted and the corresponding edge in the browser to be removed. You first pick the "From" and "To" nodes corresponding to the source and destination ends of the link respectively. Then, if there is only one link between those two cards, the link is deleted after user confirms. If there are multiple links between the two cards, then the user chooses from a menu of link types. - -AddLabel puts a "label node" into the browser that does not represent a Notecard. You are prompted for a string forming the node's label and then must position the label node. This node is not boxed. (But note that "virtual" label nodes can be boxed and thus can be confused with non-virtual regular nodes.) - -AddNode adds a node into the browser corresponding to some existing card. You are asked to point to a card (title bar or link icon) on the screen that this node is to represent and then to position the node. - -AddEdge draws a line between two nodes in the browser. This edge does not correspond to a real link in the Notefile. To avoid confusion, it is best to have the arrowheads option on (see Section ??) in this case, since edges formed by AddEdge do not have arrowheads (or dashing). Only one such edge is allowed between any two nodes and none if there are already link edges between the nodes. Thus doing CreateLink&Edge will remove any existing non-link edge. - -RemoveNode removes a node from the browser. It does not delete the card (if any) that the node represents. Edges into and out of the node are also removed. If the selected node is one of a set of virtual nodes representing the same card, then you will be told how many nodes will be removed with this one and will be asked to confirm. The only way to remove only one node of a set of virtual nodes, is to first manually remove edges into and out of it using RemoveEdge. Then RemoveNode can be used to remove only the one virtual node. - -RemoveEdge removes an edge from the browser. It does not delete the link (if any) that the edge represents. The user is asked to select the "From" and "To" nodes of the edge. - -MoveNode allows you to change the position of any node, rubber banding any edges pointing to it. You're asked to point to the node by left-buttoning, and holding down the left button, drag the node to its new position. - -LabelSmaller is used to decrease the font size of label nodes. Note that it does not work for regular non-label nodes. - -LabelLarger is used to increase the font size of label nodes. - -<->Shade toggles the shade of a node between black-on-white and white-on-black. This can only be performed on label nodes (not on nodes representing Notecards). - -FIX MENU causes the GraphEditMenu to be affixed to the lower right edge of the browser window. Note that this does not prevent you from obtaining the menu via right button inside the window. - -[Note that the above editing commands do not work on old 1.1 browsers. Such browsers should either be recomputed (via RecomputeBrowser) or unconnected and reconnected.] - - -4. Miscellaneous changes. - -Links ordering within text cards: - -The internal list of outgoing links in a text card is now kept in the same order that the links appear in the card's text. This means, for example, that the daughters of a browser node for a filebox will appear in the correct order. - -Link insertion: - -The title bar menu entry for "InsertLinks" now has an attached submenu containing entries for adding single links, multiple links, and global links. When inserting multiple links (or adding multiple global links) you're only asked for one link type which is used to label all the new links and all are inserted at the same place in the text. - -Show links: - -This is now a normal entry in the left button title bar menu of a card (rather than a subentry under Edit Properties). The format of the ShowLinks display has been changed slightly. The prefix is now either TO, FROM, or Global TO. The link type is shown in the icon. Also, for text cards, the TO links should appear in the correct order. - -Sketch changes and fixes: - -Notecards now uses the latest version of sketch. See the sketch documentation for details on changes. Several long-standing bugs having to do with link icons in sketch cards have been fixed. - -Sketches and graphs in text cards: - -It is possible to shift-copy the contents of sketch and graph/browser cards into text cards. In addition, the Document card is now able to include the contents of sketch and graph cards if encountering them during card gathering. (It is still not possible for Document to include the contents of cards having user-defined substance types such as NCFile cards.) - -Data saved at card closing: - -When a card is closed, only those parts that are dirty are written out to the notefile. A message indicating which parts are being saved is now printed to the card's prompt window during closing. Furthermore, certain card types (in particular, browsers) were saving their substance even if no changes were made. This source of space inefficiency has been fixed in Release1.2i. - -Ordering cards in a filebox: - -It is now possible to dictate the relative placement of new cards in a filebox. If the OrderingFn property of a card has a value, it should be a lisp function that takes two card ID arguments and returns T if the first should appear before the second and NIL otherwise. You can make such a function appear automatically on new boxes for the case of alphabetizing by using the global parameter AlphabetizeFileBoxChildren. See section 2. - -Programmer's interface: - -The Programmer's interface has been updated. Thus users with existing programmer's interface code should read the revised PI documentation. The changes are not all forward compatible. - -Notecards system date: - -You can find the date of your Notecards system in the variable NC.SystemDate. The 'NewestFile property on the NC.SystemDate atom contains the name of the last modified Notecards file. - -The Notecards library packages: - -The old Release1.1 library packages have been converted to 1.2i and documented and several new ones have been added. These can be found on {qv}<notecards>release1.2>library> and include NCScreen, NCCluster, NCChain, NCFileCard, NCKeys, NCHacks, and ARIDemo. Documentation can be found in <filename>.ted. - -NCScreen defines several handy functions for arranging cards on the screen callable from the programmer's interface. NCCluster defines several new card types, most notably CaseCluster, a cluster of cards for use in the sample domain of legal case analysis. NCChain defines the Chain card type, useful for breaking up a large text card into a linked chain of cards. NCFileCard defines the new File card type and FILE substance allowing a notefile to link to external files via standard Notecards links. NCKeys provides a shorthand language for invoking various handy programmer's interface functions. NCHacks contains several handy functions written using the programmer's interface. Two of these allow global text searches and replaces throughout a notefile. In addition there is a function that searches by last card modification date and one that links cards to form chains. Finally, ARIDemo is an example of how the programmer's interface can be used to construct notefiles that demo themselves. - -Loading NoteCards from different directories: - -NoteCards now uses the values of four directories variables to decide from whence to load the code. These are NOTECARDSDIRECTORIES, NOTECARDSMAPDIRECTORIES, QUADTREEDIRECTORY, and MAPFILEDIRECTORY. They default to ({QV}<NOTECARDS>RELEASE1.2I>), ({QV}<NOTECARDS>MAPS>NEW>), {QV}<NOTECARDS>MAPS>, and {QV}<NOTECARDS>MAPS> respectively. - - -5. Known bugs and plans for future improvements: - -o The compactor should check first for available space. - -o There are major speed problems in redrawing large browsers. Changing link display mode could also use some streamlining. - -o Integrate the document compiler and the types mechanism so that instances of new card types can be sucked into TEdit documents. - -o Make links into full-fledged objects having properties and type hierarchies.��������������������������������������������������������������������������������������������������� TIMESROMAN� �������� TIMESROMAN� �������� TIMESROMAN� ��������� TIMESROMAN� ��������� TIMESROMAN�����������������"����������������������������������������������������������� ������������� -���������������������������������������6�������������%�������������#�������������������������������� ��������������������������������������������������������������������������������������������������������������������&�������������������������%����������������������������������������������������������������������������������������������������E�������������������������������������������������������������������������������������������������������.������������������������������������������������������������������������������)�������������������������M���������������������������������������-�������������������������� -����������������������������������������������������������������������������4�������������������������V�����������������������������������������������������������������������������������������������������g��������������������������������������������������������������������������������������������������������E��������������������������H���������������������������������������������������������������� ��������������������������$�������������������������x��������������������������+����������������������������������������������������&����������������������������������������������������_����������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������9�����������������������������������������������������������������������������*������������������������������������������������������������������������������������� -���������������������������������������h��������������������������p�������������������������������������������������������������������������������������������������{��������������������������������O�������������������������� -�������>������������������������������������������������������������������6������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/������������������������������������������������������������������������������������������� �������������������������������� ������������������������������������������������������������������ �������l�������������������������� �������3�������������������������������������������������������������������������������������������������������������������������������������������������������������"�����������������������������������������������������������������������������W�������������������������� �������������������������V������������������������������������������������������������������������������#�������������������������k���������������������������������������������������|������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������2���������������������������������������������������.�������������������������P���������������������������������������2���������������������������������9���������������������������������}������������������������������������������������������������������O������jkz \ No newline at end of file diff --git a/docs/misc/from_envos/typesmech.ted b/docs/misc/from_envos/typesmech.ted deleted file mode 100644 index ede41e9..0000000 --- a/docs/misc/from_envos/typesmech.ted +++ /dev/null @@ -1,272 +0,0 @@ -The NoteCards Types Mechanism -Release 1.2 -Frank G. Halasz -Xerox PARC - -First Written: 22-Mar-85 -Modified: 26-Mar-85 by Frank G. Halasz -Modified: 1-Aug-85 by Lissa Monty - -1. Introduction -The NoteCards types mechanism allows a user with some knowledge of Interlisp to add new types of note cards to the system. The types mechanism is built around an inheritance hierarchy of note card types. If the user needs to create a new card type that is a small change from an already existing card type, he or she need only define the few functions or parameters that account for the differences between the new card and the existing card. However, if the user wishes to create a totally new type of card, then he or she must define the 20-odd functions and parameters that make up a note card type. -Every note card has a substance. A substance is essentially a data structure that contains the information in the note card. Different types of note cards have different types of substances. Associated with every substance type is an editor that can be used to create and/or modify the data structure of that substance type. For example, the substance of a Text card is a TEXTSTREAM that can be edited using TEdit. Similarly, the substance of a Browser card is a GRAPH record that can be edited using GRAPHER. Defining a new note card type involves specifying the functions necessary to handle the card's substance and its editor. -1.1 The Inheritance Hierarchy -The inheritance hierarchy in NoteCards has two parts: a tree of NoteCardTypes and a list of SubstanceTypes. Every NoteCardType has a super-type and a substance type. The super-type is an already existing NoteCardType from which the NoteCardType will inherit fields. Thus, the set of NotecardTypes forms a tree structure based on the super-type field. The substance type of a NotecardType is an already existing SubstanceType. -The inheritance process for a given field of a NoteCardType works as follows: if the field has a non-NIL value in the NoteCardType then this value is used, otherwise the field value is inherited from its super-type. If there are no non-NIL values anywhere in the inheritance path for the NoteCardType, then the field value is taken from the corresponding field in the substance type for the NoteCardType. Substance types are guaranteed to have values in all of their fields. -Example: ProtectedText is a card with super-type Text. Text in turn has super-type NoteCard (the null root of the NoteCardType tree). In addition, Text has substance type TEXT. If an EditCardFn is not defined in ProtectedText, then it will be inherited from Text. If Text doesn't have an EditCardFn then the EditSubstanceFn from the TEXT SubstanceType will be used (since NoteCard by definition does not have an EditCardFn). -Functions are inherited all or none. Often, however, a new NoteCardType will require only a minor addition to the corresponding function of its super-type. In this case, the new card type should define a new function, but this function can call the corresponding function of its super-type to do the bulk of the work. The following construction will accomplish this goal: -(APPLY* (NCP.CardTypeInheritedField (NCP.CardTypeSuper <type>) <fn>) <arg1> <arg2> ...) -where <type> is the TypeName of the card type in question, <fn> is the name of the function in question, and <arg1> <arg2> ... are the arguments to that function. For example the following might be the definition of the EditCardFn for the passworded Text card called ProtectedText: -(DEFINEQ -(NC.EditProtectedTextCard - (LAMBDA (ID Substance Region/Position) - (* * Edit a Protected Text card, asking for the password first.) - (PROG (Password Result) - (* * Get this card's password from the prop list) - (SETQ Password (NCP.CardProp ID (QUOTE Password))) - (COND - ((EQUAL Password (NC.GetPassword ID)) - (* Password is okay. - Call the EditCardFn of my super-type) - (SETQ Result (APPLY* - (NCP.CardTypeInheritedField - (NCP.CardTypeSuper (QUOTE ProtectedText)) - (QUOTE EditCardFn)) - ID Substance Region/Position))) - (T (* Password is bad. Express condolences) - (NCP.PrintMsg Window T "Sorry." (CHARACTER 13) - "You do not know the password!!" - (CHARACTER 13) - "Bye." - (CHARACTER 13)) - (DISMISS 2000))) - (RETURN Result)))) - -1.2 Links and Link Icons -An integral part of NoteCards is the ability to create a link between two note cards. Presently, there are two kinds of links: GlobalToGlobal links and LocalToGlobal links. GlobalToGlobal links connect one entire card with another entire card and are stored separately from either card's substance. GlobalToGlobal links are maintained (almost) entirely by the NoteCards system code and therefore do not vary across note card types. -LocalToGlobal links connect a particular position within the substance of one card (the source card) to the entirety of the other card (the destination card). Within the source card, the link is represented by an image object called a link icon that must be contained by the card's substance. Since substances vary across note card types, the handling of link icons varies across note card types. The destination (or Global) end of a LocalToGlobal links is maintained by the NoteCards system code. -Not all note cards can be the source of LocalToGlobal links. Card types that support LocalToGlobalLinks must have their LinkAnchorModesSupported parameter set to T. If a this parameter has any other value, then cards of this type can be the source of only GlobalToGlobal links. These Global-links-only card types need to provide only one piece of functionality in support of the linking mechanism. In particular, they must provide user access to the function NCP.GlobalGlobalLink from the editor that runs when the card is being displayed. For example, the editor's command menu might include an "Insert Global Link" command. All other link maintenance is carried out by the NoteCards system. -If a card type supports LocalToGlobal links, then it must contain the necessary mechanisms for supporting link icons in its substance. Link icons are instances of standard Interlisp-D image objects (See documentation of Image Objects in Interlisp-D). The mechanisms supporting link icons include functions for inserting, deleteing, updating, and collecting the link icons contained in a card's substance. These functions are described in detail below. In addition to these functions, a note card type supporting LocalToGlobal links must provide user access to the function NCP.LocalGlobalLink from the editor that runs when the card is being displayed. In addition the editor must provide user access to the function NCP.GlobalGlobalLink. -Inside the link icon image object is a link record containing all of the information about the link. These link records can be manipulated using the link manipulation functions provided by NoteCards' programmer's interface (e.g., NCP.GetLinkDestination returns the destination field of a link record). The functions required to define a note card or substance type deal in both link records and link icons. You can translate between these two representations using the functions NC.MakeLinkIcon and NC.FetchLinkFromLinkIcon; NC.MakeLinkIcon will create a link icon image object from a link record, while NC.FetchLinkFromLinkIcon will return the link record contained in a link icon. -1.3 Using the Types Mechanism -Most uses of the types mechanism involve defining new NoteCardTypes. Usually, these new NoteCardTypes involve specifying a TypeName, a SuperType, a SubstanceType, and one or two functions that differ from the SuperType. The most commonly defined functions are the MakeCardFn, the EditCardFn and the QuitCardFn. -Definition of new substance types occurs only when a new kind of substance (e.g., a spreadsheet) and its corresponding editor are to be added to the system. When defining a substance, all of its fields must be fully defined since there is no inheritance among SubstanceTypes. - -2. The NoteCardType -Each note card type in the system is defined by a record structure (i.e., a NoteCardType) containing about 20 names, functions and parameters. The functions implement behaviors that are required by the NoteCards system but vary across the different card types. For example, one function is responsible for writing the card's substance to the NoteFile. The parameters represent specifications that inform NoteCards about the specific properties of each card type, e.g., whether it handles local links or not. -The NoteCardTypes are organized into an inheritance hierarchy. Each NoteCardType has a super-type. If any of the functions or parameters is not specified for a given NoteCardType, that function or parameter is inherited from its super-type (or its super-type's super-type, if the function or parameter is not specified for the super-type either). Each NoteCardType also has a SubstanceType. If any of the functions or parameters cannot be found along the super-type chain of the NoteCardType, then the card type inherits the function or parameter from its SubstanceType. -Overall, a card type is a data structure with the following 21 fields: -Inheritance Hierarchy Specifications -1) TypeName -2) SuperType -3) SubstanceType -Functions -4) MakeCardFn -5) EditCardFn -6) QuitCardFn -7) GetCardFn -8) PutCardFn -9) CopyCardFn -10) MarkCardDirtyFn -11) CardDirtyPFn -12) CollectLinksInCardFn -13) DeleteLinksInCardFn -14) UpdateLinkIconsInCardFn -15) InsertLinkInCardFn -16) TranslateWindowPositionToCardPositionFn -Parameters -17) LinkDisplayMode -18) CardDefaultWidth -19) CardDefaultHeight -20) CardLinkAnchorModesSupported -21) CardDisplayedInMenuFlg -These fields are defined as follows: -1. TypeName: The atom that is the name of this card type. TypeNames must be unique among the NoteCardTypes tree, though they may overlap with SubstanceNames. The convention is that NoteCardType TypeNames have only the first letter capitalized. This is to set them apart from SubstanceNames which are by convention all caps. -2. SuperType: The TypeName of the NoteCardType that is the super-type for this NoteCardType. When a new NoteCardType is created, its SuperType must be an existing NoteCardType. -3. SubstanceType: The SubstanceName for the substance of this card type. When a new card is created, its SubstanceType must be the name of an existing SubstanceType (see Section 3.0 below). The basic NoteCards system includes the following substance types: TEXT, SKETCH, GRAPH which represent the the substances handled by the TEdit, Sketch, and Grapher packages respectively. -4. MakeCardFn: The name of a function to be applied to an ID, a Title, and a NoDisplayFlg. The function should create a new card of this type. The ID is the note card ID that will be assigned to the newly created card. It should be used to set the various properties of the new card. The title is a string specifying the title of the new card. It can be used in messages to the user or to set the title of any windows created. NoDisplayFlg determines whether the new card is to be displayed on the screen or not. If NoDisplayFlg is non-NIL, then the card is to be displayed in a window on the screen. If NoDisplayFlg is NIL, then the card is to be created but not displayed on the screen. -The MakeCardFn should return the window of the new card if NoDisplayFlg is non-NIL and the ID if NoDisplayFlg is NIL. -Before returning, every MakeCardFn is required to set the substance property of ID by calling (NC.SetSubstance ID Substance) where Substance is whatever is considered a substance for this card type. For example, a TextStream for Text cards, a Graph record for Graph cards, or a Sketch record for Sketch cards. -By convention, every MakeCardFn sets the SHRINKFN of any window it creates to the function NC.ShrinkFn using WINDOWPROP. -5. EditCardFn: The name of a function to be applied to ID, Substance, and Region/Position. The function should start an editor for the given card. ID is the note card ID of the card. Substance is the substance of the card; it will be a thing of whatever type is considered a substance for this card type, e.g., a TextStream or Sketch record. Region/Position is a Region or a Position on the screen that specifies where the card is to be placed. (NC.DetermineDisplayRegion ID Region/Position) is a function that will determine the exact region for the card's window given the ID and the Region/Position. -The EditCardFn should return the editor window. -The EditCardFn is responsible for checking to make there is not already an editor for card ID already on the screen. If there is, the EditCardFn should just flash the previous editor window. -By convention an EditCardFn sets the SHRINKFN of any window it creates to the function NC.ShrinkFn using WINDOWPROP. Also by convention, an EditCardFn should set the title of the editor window to be the value of (NCP.CardTitle ID). -6. QuitCardFn: The name of a function to be applied to WindowOrSubstanceOrID which is either the editor window for a card or the substance of a card or a note card ID. QuitCardFn should quit out of the editor currently operative on the specified card and close the window containing the card. -The value returned by QuitCardFn is unspecified. -Before returning the QuitCardFn should apply the function NC.DeactivateCard to the ID of the card. Note that the ID may have to be computed from the Window or Substance passed to the QuitCardFn. The function NC.CoerceToID will do this computation. -The QuitCardFn should also insure that all processes related to this card are completed (or guaranteed to eventually complete) before returning. -7. GetCardFn: The name of a function to be applied to the DatabaseStream, a card ID, and a screen Region. The GetCardFn should read the substance of the note card specified by ID from the DatabaseStream. The format of the data to be read is determined by the PutCardFn (see below). When the GetCardFn is called, the file pointer for DatabaseStream is positioned on the first byte of the data to be read. -The GetCardFn should return a pointer to the substance read from the DatabaseStream. -GetCardFn need produce no side-effects. The ID and the Region are for reference purposes only. -Note that the GetCardFn need only read the substance of the card, i.e., that information about the card which is specific to its card type. General information about a card such as its title, its property list, its list of links, etc. is read from the DatabaseStream by the system. -8. PutCardFn: The name of a function to be applied to a note card ID and the DatabaseStream. The PutCardFn should write the substance of the note card specified by ID to the DatabaseStream. When the PutCardFn is called, the file pointer for DatabaseStream is positioned at the first byte assigned to the card. When the PutCardFn returns, the file pointer should be positioned immediately after the last byte written. -The format for writing the card's substance is fairly unrestricted. The data written on the DatabaseStream can take up any number of bytes, but the bytes must be contiguous. It must be written so that it can recovered by reading from the DatabaseStream using the GetCardFn. The only other restriction is that the first 6 bytes of the substance must contain the file position of the start and the end of the substance: 3 bytes for the start file pointer and 3 bytes for the end file pointer. These pointers are for use by the CopyCardFn. -The value returned by the PutCardFn is unspecified. -Note that the PutCardFn need only write out the substance of the card, i.e., that information about the card which is specific to its card type. General information about a card such as its title, its property list, its list of links, etc. is written to the DatabaseStream by the system. -9. CopyCardFn: The name of a function to be applied to a note card ID, a "from" DatabaseStream, and a "to" DatabaseStream. The CopyCardFn should copy the substance for the note card specified by ID from the "from" DatabaseStream to the "to" DatabaseStream. When the CopyCardFn is called the file pointer for the "from" DatabaseStream is positioned on the first byte of the data to be copied. The file pointer for the "to" DatabaseStream is positioned at the first byte of the space assigned to the card on the "to" DatabaseStream. -The format for writing the substance on the "to" DatabaseStream has the same restrictions as for the PutCardFn. -Most often the the CopyCardFn is a simple COPYBYTES that uses the start and end pointers written by PutCardFn in the first 6 bytes of the substance. Note, however, that all file absolute pointers (including the start and end pointers) must be updated; the file location on the "to" DatabaseStream is almost never the same as the original file location on the "from" DatabaseStream. -The value returned by the CopyCardFn is unspecified. -The CopyCardFn is used primarily by the compactor that eliminates "dead" space in the database. Thus, it is important that the CopyCardFn be as time efficient as possible. -10. MarkCardDirtyFn: The name of a function to be applied to a note card ID and a ResetFlg. If the ResetFlg is non-NIL, the function should mark the card specified by ID as being dirty (i.e., changed since it was last written to the DatabaseStream). If the ResetFlg is NIL, the function should reset the "dirtiness" of the card. -The MarkCardDirtyFn is called by NoteCards system functions that change the card. It is not necessarily called by user operations inside the editor on the card. Therefore, it is best if the mechanism used by the MarkCardDirtyFn is somehow coordinated with the corresponding mechanism used by the editor on the card. (See the CardDirtyPFn below.) -The value returned by the MarkCardDirtyFn is unspecified. -The card specified by ID is guaranteed to be active. -11. CardDirtyPFn: The name of a function to be applied to a note card ID. The function should return a non-NIL value if the card specified by ID is dirty, i.e., if it was changed since it was last written to the DatabaseStream. NIL should be returned otherwise. -Note that a "dirty" card is one that has been changed in any way. Only NoteCards specific changes to a card will result in a call to the card's MarkCardDirtyFn. Changes made through the editor on the card will use the editors "mark dirty" mechanism and will not call the MarkCardDirtyFn. Therefore, the CardDirtyPFn should check all dirty flags, i.e., the dirty flag set by the MarkCardDirtyFn as well as any set by the card's editor. -The card specified by ID is guaranteed to be active. -12. CollectLinksInCardFn: The name of a function to be applied to a note card ID, a CheckAndDeleteFlg, a DatabaseStream, a ReturnLinkIconsFlg, and a ReturnLocationsFlg. The function should examine the substance of the card specified by ID and produce a list of the links (or link icons) contained by the substance. The ReturnLinkIconsFlg and the ReturnLocationsFlg determine the contents of the list to be returned as follows: -ReturnLinkIconsFlg and ReturnLocationsFlg both NIL: the list to be returned should be a list of link records. -ReturnLinkIconsFlg is non-NIL, ReturnLocationsFlg is NIL: the list to be returned should be a list of link icons. -ReturnLinkIconsFlg is NIL, ReturnLocationsFlg is non-NIL: the list to be returned should be a list of pairs where the first memeber of the pair is a link record and the second member of the pair is the "location" of the link icon for that link inside the substance. -ReturnLinkIconsFlg and ReturnLocationsFlg both non-NIL: the list to be returned should be a list of pairs where the first memeber of the pair is a link icon and the second member of the pair is the "location" of that link icon. -If CheckAndDeleteFlg is non-NIL, then the list produced by CollectLinksInCardFn should contain valid links only. Any links found to be invalid should be deleted. To check the validity of a link, the function NC.ValidLinkP should be applied to the link record and the DatabaseStream. To delete a link, apply the function NC.MakeInvalidLink to the link icon. -The CollectLinksInCardFn should return the list produced CONSed to a dirty flag. The dirty flag should be non-NIL if any links were deleted, NIL otherwise. -The card specified by ID is guaranteed to be active. -13. DeleteLinksInCardFn: The name of a function to be applied to a "source" note card ID and a link record or "destination" note card ID. If the second argument is a link, the function should remove from the substance of the card specified by "source" ID the link icon corresponding to link. If the second argument is a "destination" note card ID, the function should remove from the substance of the card specified by "source" ID all link icons corresponding to links pointing to the card specififed by "destination" ID. -To "remove" a link icon, the link icon should be replaced in the substance by the image object that is the value of NC.DeletedLinkImageObject. Note that before deleting the link icon, it is best to replace the IMAGEOBJFNS of the link icon with the value of NC.NoDeleteImageFns. This will prevent the link icon's WHENDELTEDFN from being activated when the deletion takes place. -The value returned by the DeleteLinksInCardFn is unspecified. -The card specified by "source" ID is guaranteed to be active. -14. UpdateLinkIconsInCardFn: The name of a function to be applied to a "source" note card ID or window and a "destination" note card ID. The function should update (i.e., force a redisplay of) all link icons in the "source" card that represent links pointing to the "destination" card. This function is called when some property of the link is changed by the NoteCards code. It is also called when certain properties of the destination card (e.g., its title) are changed. -The value returned by the UpdateLinkIconsInCardFn is unspecified. -The "source" card is guaranteed to be active. -15. InsertLinkInCardFn: The name of a function to be applied to a window, a link, and a position. The function should insert a link icon containing the link into the card being edited in the window at the position specified. The position is whatever object is returned by the TranslateWindowPositionToCardPositionFn. -The value returned by the InsertLinkInCardFn is unspecified. -The ID of the card being edited by the window is guaranteed to be the SOURCEID of the link. -16. TranslateWindowPositionToCardPositionFn: The name of a function to be applied to a window, an X-coordinate in that window, and a Y-coordinate in that window. The window is an editor window on the substance of some card. The function should return a position object that describes the position in the card substance that is currently located at the given X-Y position in the window. The format of the position object is undefined. It will be passed to the InsertLinkInCardFn and used as the position at which to insert a links in the card being edited in the window. -17. LinkDisplayMode: determines the default display mode for link icons inserted into cards of this type. It must be a record of type LINKDISPLAYMODE. LINKDISPLAYMODE describes what information will be displayed in a link icon. It consists of three flags: SHOWTITLEFLG, SHOWLINKTYPEFLG, and ATTACHBITMAPFLG. If SHOWTITLEFLG is non-NIL, the link icon will display the destination card's title. If SHOWLINKTYPEFLG is non-NIL, the link icon will display the type of the link. If ATTACHBITMAPFLG is non-NIL, a bit map describing the type of the destination card will be attached to the right of the link icon. -Note: This property in NOT inherited. -18. CardDefaultWidth: The default width for editor windows on cards of this type. -19. CardDefaultHeight: The default height for editor windows on cards of this type. -20. CardLinkAnchorModesSupported: an atom that determines the kind of links this card type will support (i.e., the kind of links for which cards of this type can be a source). If NIL, then this card type does not support links of any type. If Global, this card supports only Global links. If Local, this card supports only local links. If T, this card supports both Global and Local links. -Note: This property in NOT inherited. -21. CardDisplayedInMenuFlg: if non-NIL then this card type will appear in the choice of card types in the menu used during card creation using the "Create" entry in the main NoteCards menu. If NIL, then this card type will not appear in this menu. - -3. The SubstanceType -The SubstanceType is a record structure whose fields are virtually identical to those of the NoteCardType record. In particular, the SubstanceType has the following 17 fields: -1) SubstanceName -2) CreateSubstanceFn -3) EditSubstanceFn -4) QuitSubstanceFn -5) GetSubstanceFn -6) PutSubstanceFn -7) CopySubstanceFn -8) MarkSubstanceDirtyFn -9) SubstanceDirtyPFn -10) CollectLinksInSubstanceFn -11) DeleteLinksInSubstanceFn -12) UpdateLinkIconsInSubstanceFn -13) InsertLinkInSubstanceFn -14) TranslateWindowPositionToSubstancePositionFn -15) SubstanceDefaultWidth -16) SubstanceDefaultHeight -17) SubstanceLinkAnchorModesSupported -These fields are defined as follows: -1. SubstanceName: The atom that is the name of this substance type. SubstanceNames must be unique among the substance types, though they may overlap with card TypeNames. The convention is that SubstanceNames are all in caps. This is to set them apart from card TypeNames which by convention have only their first letter capitalized. -2 Thru 14. Functions: All of the functions are identical to the corresponding functions in the NoteCardType record structure. Note the (arbitrary) use of "create" instead of "make" in the name of the CreateSubstanceFn. -15 Thru 17. Parameters: The parameters are identical to the corresponding parameters in the NoteCardType data structure. There are no parameters for the LinkDisplayMode and the DisplayInMenuFlg because these two parameters are not inherited. They must be specified separately for each card type. - -4. Adding a New NoteCardType or SubstanceType to the System -The functions NCP.CreateCardType and NCP.CreateSubstanceType can be used to add new Types to the system. -NCP.CreateCardType takes 5 arguments: the TypeName, its SuperType, its SubstanceType, a functions list, and a parameters list. The functions list is an ASSOC list where the CAR of each sub-list is one of the function field names given above (e.g., EditCardFn, MakeCardFn, etc.). The CDR of the sublist should contain the name of the required function. Any function field name for which there is no entry will be set to NIL and will thus be inherited. The parameters list is analogous to the functions list, except that it applies to the parameter field names (i.e., LinkDisplayMode, CardDefaultWidth, CardDefaultHeight, and CardLinkAnchorModesSupported). -NC.CreateSubstanceType takes 3 arguments: the SubstanceName, a functions list, and a parameters list. The functions and parameters list are analogous to those for NCP.CreateCardType except that all of the function and parameter fields specified above MUST have an entry in the ASSOC lists. -Both NCP.CreateCardType and NC.CreateSubstanceType will overwrite existing types (NoteCard and Substance, respectively) of the same name. - -5. Example: Defining the ProtectedText NoteCardType -The following is an example of defining a new card type called the ProtectedText card. The card type is created by specifying new MakeCardFn and EditCardFn functions. All other functions are inherited from from the super-type, i.e., the Text card. All of the parameters are specified directly for this card. - The function that creates the new ProtectedText card type: -(NC.AddProtectedTextCardType - (LAMBDA NIL (* fgh: "26-Mar-85 15:48") - (* * Create the ProtectedText card type) - (NCP.CreateCardType (QUOTE ProtectedText) - (QUOTE Text) - (QUOTE TEXT) - (QUOTE ((MakeCardFn NC.MakeProtectedTextCard) - (EditCardFn NC.EditProtectedTextCard))) - (QUOTE ((LinkDisplayMode (T NIL NIL)) - (CardDefaultHeight 300) - (CardDefaultWidth 400) - (CardLinkAnchorModesSupported T) - (CardDisplayInMenuFlg T)))))) - - The MakeCardFn for the ProtectedText card type: -(NC.MakeProtectedTextCard - (LAMBDA (ID Title NoDisplayFlg) (* fgh: "26-Mar-85 15:23") - (* * Make a protected Text card - by calling the make card fn for a Text card - and then attaching a password to the card) - (PROG (Window WindowOrID) - (* * Create the Text card) - (SETQ WindowOrID (APPLY* - (NCP.CardTypeFn (NCP.CardTypeSuper - (QUOTE ProtectedText)) - (QUOTE MakeCardFn)) - ID Title NoDisplayFlg)) - (* * Get the window for the card, if there is one) - (SETQ Window (WINDOWP WindowOrID)) - (* * Get the password from the user - and add it to the cards prop list) - (NCP.CardProp ID (QUOTE Password) - (NC.GetPassword Window)) - (* * Return whatever the super-type's MakeCardFn returned) - (RETURN WindowOrID)))) - - The EditCardFn for the ProtectedText card type: -(NC.EditProtectedTextCard - (LAMBDA (ID Substance Region/Position) - (* fgh: "26-Mar-85 17:21") - (* * Edit a Protected Text card, asking for the password first.) - (PROG (ExactRegion Window Password Result) - (* * Open a window for this card) - (SETQ ExactRegion (NC.DetermineDisplayRegion ID - Region/Position)) - (SETQ Window (CREATEW ExactRegion)) - (* * Get this card's password from the prop list) - (SETQ Password (NCP.CardProp ID (QUOTE Password))) - (COND - ((EQUAL Password (NC.GetPassword Window)) - (* Password is okay. - Call the EditCardFn of my super-type) - (SETQ Result (APPLY* - (NCP.CardTypeInheritedField - (NCP.CardTypeSuper (QUOTE ProtectedText)) - (QUOTE EditCardFn)) - ID Substance ExactRegion))) - (T (* Password is bad. Express condolences) - (NCP.PrintMsg Window T "Sorry." (CHARACTER - 13) - "You do not know the password!!" - (CHARACTER 13) - "Bye." - (CHARACTER 13)) - (DISMISS 2000))) - (* * Close the window you created. - The super-types EdityCardFn will - have created another window.) - (CLOSEW Window) - (RETURN Result)))) - - A utility used by the MakeCardFn and the EditCardFn: -(NC.GetPassword - (LAMBDA (Window) (* fgh: "26-Mar-85 15:50") - (* * Get a password from the user. - Window is the main window for the card in question) - (NCP.AskUser "What is the password for this card?" " -- " - NIL T Window))) - -�������,�H�H�����������������������������������,�H�H��� ��������������������������������,�$�$��� ��������������������������������,�H�H������������������������������������,�$�$�����������������������������������,������� ��������������������������������,������� ��������������������������������,���������������������������������������,���������������������������������������,������� ��������������������������������,������� ��������������������������������,����������������������������������������,������� ���������������������������������,�$�$�����������������������������������,����������������������������������������,�������������������������������������������� �� HELVETICA� ��������� HELVETICA� ���������� HELVETICA���������� HELVETICA� ��������� HELVETICA� ��������� HELVETICA� ���������� HELVETICA����������GACHA� ����������GACHA� ���������GACHA� ��������� HELVETICA�������������� �������������������� ��� ���������� ������������� ��� ���������� �������������������� ���������(���� ���������#���� ������ ������� ������������������� ��^���������� ��~������������� ���������� ������������ ������������ ������������ ��v������������������ ������ ���7���� ������� ������� ������� ������� ��� -���� ������� ������������� �����������������/��������������.������� -�������������������� ��������������������������)�������������K��������������������������>�������������=��������������������������2�������������#�������������7������������������������ ���������.���� ���������>���� ���������(���� ���������0���� ����������������8�������������>�������������>�������������,�������������$�������������-������������� ������������������������������������ ������������� ����������������� ������� -���������������� ���X��������������.������� ������]���������� �������������������������� ��A��������������~������������������������ �����������������������������������������������������������@��������������7���������� ��� ���������� ��9���������� ������������ ������������� ������������� ������������ ��?���������� ���G�������������%������������� -��������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������,������������� ����������������������������������������������������!������������������������������ ���%������������� ������=������������� -��������������������������m��������������������������������v�������������_��������������������� �������������� ��������������������[������� �����������������������������������������������������0��������������������������W������� �������t������� -���������������������������������������1�������������:��������������������� -��������������������������������� -�������������������U�������������`������������������������� -�������������������������������4������������"������������������� �������������p�������������������������5����������������������������������������������9������������]�������������:�������������5���������������������������������������������5��������������������������������o�������������s������������ ��������������������������������� -�������d����������������������������������������5��������������������������������t��������������u��������������f�������������>�������������>��������������������������������B�������������0�������������������*�������������=�������������\�������������,�������������������������R�������������,��������������������?��������������������@������������� ������l�������������,�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��������������������������1���������������������������������������&�������������%�������������������A�������������������������������������������������������������� ���>���������� �������������������������������-���������� ������������������� ������������������������m���������� �������������������������������X���������� ������������� ���7���������� ��7���������� ���=���������� -����������������@�������������3�������������.�������������%�������������%�������������F�������������H�������������>�������������9�������������8�������������B�������������?����������������������� ���2���������� -����������������@�������������*�������������;�������������:��������������������������%�������������#�������������1�������������7�������������2�������������&�������������=�������������-�������������/�������������2�������������,�������������1�������������E�������������!����������������������� ���2���������� -����������������)�������������@�������������K�������������/�������������,�������������;�������������<�������������.�������������<�������������=��������������������������6�������������#�������������7�������������#�������������.�������������>�������������(�������������.�������������8�������������:�������������#�������������>�������������,�������������$�������������-������������� �������������-�������������1�������������-������������������������������������������������� ���7���������� -������������� ���@���������� ���-���������� ���C���������� ���?���������� ���!���������� ������������� ��������|oz \ No newline at end of file diff --git a/docs/porter/001-TITLEPAGE.TEDIT b/docs/porter/001-TITLEPAGE.TEDIT new file mode 100644 index 0000000..446b227 Binary files /dev/null and b/docs/porter/001-TITLEPAGE.TEDIT differ diff --git a/docs/porter/002-PREFACE.TEDIT b/docs/porter/002-PREFACE.TEDIT new file mode 100644 index 0000000..8ba8fed Binary files /dev/null and b/docs/porter/002-PREFACE.TEDIT differ diff --git a/docs/porter/003-TOC.TEDIT b/docs/porter/003-TOC.TEDIT new file mode 100644 index 0000000..f706a26 --- /dev/null +++ b/docs/porter/003-TOC.TEDIT @@ -0,0 +1,445 @@ +1 NoteCards User's Guide, Release 2.0 1 NoteCards User's Guide, Release 2.0 TABLE OF CONTENTS 1 TABLE OF CONTENTS 1 TABLE of CONTENTS 6 Preface xvii Part I - Introduction and Installation 1. Introduction 1 Operating System Conventions 1 System Components 1 NoteCards Device-Naming Conventions 2 Notation Conventions 2 Font 2 Prompts 3 Keyboard Conventions 3 2. System Requirements 5 Prerequisites 5 Processor Hardware 5 Memory 5 Swap Space 5 Disk Space 5 Input/Output Devices 5 Bitmap Display 5 Printers 6 Tape Access 6 Operating System Requirements 6 Constraints 6 Release Contents 6 Documentation 6 Software 7 3. Software Installation 9 Ensuring Adequate Swap Space 9 Installing Software 9 Copy Protection 10 Configuring the Software 11 Relinking 11 Enabling PUP/XNS Ethernet 11 Using/Installing the Host Access Key 12 4. System Use Issues 13 Site Initialization File 13 Starting NoteCards 13 Where NoteCards Looks for Your Sysout 14 Exiting NoteCards and Saving State 14 Keyboard Interpretation 15 Sun Type 3 Keyboard 16 Sun Type 4 Keyboard 17 Console Messages 18 File Compatibility 18 Sysout Compatibility between Sun and Xerox Workstations 18 File Compatibility between Sun and Xerox Workstations 18 Using SunOS Files from NoteCards 19 File Naming Conventions 19 Common {DSK} and {UNIX} Naming Conventions 20 {DSK} Naming Conventions 20 Version Numbering 21 Pathnames 22 {UNIX} Naming Conventions 22 Directories 23 Directory Enumeration 23 Directory Creation 24 Directory Delection 24 Open File Limit 24 Default Pathname 24 File Attributes 25 File System Errors 25 Part II - NoteCards Tutorial 5. NoteCards Basics 27 A Few Pointers on Mouse Etiquette 27 Mouse Button Use 27 Left Mouse Button 28 Middle Mouse Button 28 Right Mouse Button 28 Regions Sensitive to Mouse Activity 28 Background 28 Windows and the Window Title Bar 29 Icons 31 Scroll Bars 31 Dealing with Simple Error Conditions 32 Starting NoteCards 32 Opening a Notefile 32 Creating a New Notefile 34 Closing Notefiles and Exiting NoteCards 35 Closing Notefiles 35 Close 35 Abort 35 Existing Notefiles 36 Using NoteCards 36 Opening Cards / Traversing Links 37 Shrinking Cards 38 Closing Cards 39 Creating Cards 39 Where to Go From Here 39 6. Building NoteCards Structures 41 Introduction 41 A Standard View of Building NoteCards Structures 41 A Non-Standard View of Building NoteCards Structures 41 FileBoxes and Hierarchies 41 Flat System 42 Almost Flat System 42 Link Type 42 Multiple Users 42 Cards and Information Chunk Size 42 Types of Structures Built with Notecards 42 Specializing NoteCard 43 Part III - Reference Manual 7. User Interface 45 Window Menu 45 Icon Menu 52 Background Menu 53 8. Links 61 Links and Link Types 61 System-Reserved Link Types 61 User-Specified Link Types 62 Link Directions and Link Ends 63 Link Categories 63 Other Link Terminology 63 Link Types vs. Card Types 63 Link Access and Use 64 Link Icon Functionality 64 Active Regions of Link Icons 64 Mouse-Button Actions in Link Icons 65 Viewing Local and Global Links 67 Unfiled and Lost Cards 68 Creating Links 69 Creating Links in Text Cards 69 Creating Links in Other Card Types 72 Text-Based Cards 72 Sketch-Based Cards 72 Graph-Based Cards 73 Deleting Links 73 Deleting Links from Card Contents 73 Text-Based Cards 73 Sketch-Based Cards 74 Graph-Based Cards 74 Deleting Links from the Show Links Display 74 Tailoring Links 75 Link Ops Menu 75 System Parameters for Links 76 Cross-File Links 77 Appearance 77 Missing Notefiles 77 9. Cards and Banners 79 Notefile Banner 79 Banner Title Bar 79 Notefile Ops Menus 79 Middle-Mouse-Button Title-Bar Menu 81 Full File Name 81 File Capacity 81 Special Cards 82 Table of Contents FileBox 83 To Be Filed FileBox 83 Orphans FileBox 83 New Cards 83 User Cards and System Cards 84 Text-, Sketch-, and Graph-Based Cards 85 Card Menu 85 Standard Card Menu 85 Edit Property List 85 Show Links 86 Show Info 86 Designate FileBoxes 87 Assign Title 88 Title/FileBoxes 88 Insert Link 88 Close and Save 89 FileBox Card Menu 90 10. User Cards 91 Text Cards 91 Text-Card Menu 91 FileBox Cards 92 Suggested FileBoxes and Note Cards 92 FileBox-Card Menu 93 System Parameters Affecting FileBoxes 93 Sketch Cards 93 Sketch-Card Menu 93 System Parameters Affecting Sketch Cards 94 Graph Cards 94 Graph-Card Menu 94 Grapher Menu 94 Graph-Card Options (and Grapher Menu Options) 95 Move Node (Move Node) 95 Remove Node (Delete Node) 96 Connect Nodes (Add Link) 96 Disconnect Nodes (Delete Link) 97 Add Label (Add Node) 97 Change Label (Change Label) 97 Smaller Label (Label Smaller) 97 Larger Label (Label Larger) 97 Toggle Shade ( <-> Shade) 97 Toggle Border ( <-> Border) 97 Directed/Undirected ( <-> Directed) 98 Sides/Centers ( <-> Sides) 99 Fix Menu 99 (Stop) 99 Bitmap Editor 99 Inserting Bitmaps into Cards 99 Text-Based Cards 99 Sketch-Based Cards 100 Bitmap Operations 100 Change Scale 101 Hand Edit 101 Trim 101 Reflect Left-to-Right 101 Reflect Top-to-Bottom 101 Reflect Diagonally 101 Rotate Left 101 Rotate Right 101 Expand on Right 102 Expand on Left 102 Expand on Bottom 102 Expand on Top 102 Switch Black & White 102 Add Border 102 Bitmap Editor 103 Paint 104 ShowAsTile 105 Grid On/Off 105 GridSize 105 Reset 105 Clear 105 Cursor 106 OK 106 Abort 106 11. System Cards 107 Search Cards 107 LinkIndex Cards 108 Document Cards 109 HeadingsFromFileBoxes 110 TitlesFromNoteCards 110 BuildBackLinks 111 CopyEmbeddedLinks 111 ExpandEmbeddedLinks 111 Browser Cards 112 Recompute Browser 113 Multiple Roots 114 Dashed Links 114 Arrowheads 114 Browser Specs 114 Middle-Button Title-Bar Menu Options 115 Editing the Browser Manually and Structure Editing 116 Overview Windows on Browser Cards 118 Creating an Overview Window 118 Reshaping the Overview Window 118 Scrolling and the Wire Frame 118 Recomputing the Overview Contents 119 Browser Overview Stylesheet 119 Tidbits 119 12. MenuBox Icon 121 Notefile Options 121 Open 122 Compact 123 Inspect & Repair 124 Copy 124 Rename 124 Delete 124 Create 125 Checkpoint 125 Close 127 Abort 127 NC FileBrowser 128 Card Options 128 Close 129 Delete 130 Copy 130 Move 131 Other Options 131 Edit Parameters 131 NF Indicators On 131 TEdit Killer On 132 Load Patches 133 13. System Parameters 135 Accessing System Parameters 135 NoteCards System Parameters 136 Extra TEdit Props 136 Include Card Object In ShowInfo 137 Del TEdit Process When Shrinking 137 Font Parameters 137 Menu Font 138 Default Font 138 Link Icon Font 138 Notefile Parameters 139 Show Notefile On Cards 139 New Notefile Initial Size 140 Menu Lingers After Notefile Close 140 Card Parameters 140 Force Filing 140 Force Titles 140 Default Card Type 140 Close Cards Off Screen 140 Bring Up Cards At Previous Pos 141 FileBox Card Parameters 141 Markers In FileBoxes 141 Alphabetize FileBox Children 141 Browser Card Parameters 141 Special Browser Specs 141 Arrow Heads In Browsers 142 Link Dashing In Browsers 142 Sketch Card Parameters 142 Attach Sketch Menu 142 Link Parameters 142 Link Icon Border Width 142 Link Icon Multi Line Mode 143 Cross File Link Mode 143 Link Icon Max Width in Pixels 143 Link Icon Show Title Default 144 Link Icon Attach Bitmap Default 144 Link Icon Show Link Type Default 144 Use Deleted Link Icon Indicators 144 14. FileBrowser 145 User Interface 145 Starting FileBrowser 145 Specifying What Files to Browse 145 Examples 146 Using the FileBrowser Window 146 Selecting Files 148 Commands that Require Input 149 Aborting Commands 149 Quitting the FileBrowser 150 Copy-Selecting Files 151 Getting Hardcopy Directory Listings 151 FileBrowser Commands 151 Delete, Undelete 151 Copy 153 Rename 154 Hardcopy 154 See 155 FileBrowse 157 Edit 157 Load 158 Compile 158 Expunge 158 Recompute 158 New Info 160 Set Depth 161 Sort 162 Troubleshooting Problems with FileBrowser 162 15. Other Tools 163 Digital Clock 163 Starting and Stopping the Digital Clock 163 Changing the Digital Clock 164 Set Font 164 Set Time 165 Set Alarm 165 Quiet Alarm/Loud Alarm 166 Delete Alarm Setting 166 Shape to Fit 166 12-Hour/24-Hour Clock 166 Set Local Time Zone 166 Add New Regional Time Zone 166 Delete This Window 166 Set Font for Aux Clocks 167 Set Aux Clock Font In Just This Window 167 Set Time-Zone Heading 167 Set Regional Time Zone 167 Analog Clock 167 Starting the Analog Clock 168 Stopping the Analog Clock 168 Changing the Analog Clock 168 Numbers 169 Points 169 No Numbers 169 Rings 169 No Rings 169 Hands 169 No Hands 169 Times 169 No Times 169 Show Style 169 Set to Default 170 Change Default 170 Set Time 170 Known Problems 170 Directory Connector 170 Starting the Directory Connector 170 Stopping the Directory Connector 170 Changing the Directory Connector Fonts 170 Using the Directory Connector 171 Left Mouse Button 171 Middle Mouse Button 171 16. Printing 173 Setting up Printers 173 Adding Default Printers 173 Setting the Default Printer 174 Removing a Default Printer 175 Setting Font Directories 175 Adding a New Font Directory 175 Showing the Font Directories 176 Removing a Font Directory 177 Troubleshooting Common Printer Problems 178 Can't Determin IMAGETYPE for {LPT} 178 Font not Found 179 Can't Convert a POSTSCRIPT for a NIL Printer 179 Customizing Your PostScript Printer 179 Portrait vs. Landscape 179 Maximum Wild Font Size 180 Font Association Menu 180 PostScript Short Edge Shift 181 PostScript Short Edge Points 181 PostScript Long Edge Shift 182 PostScript Long Edge Points 182 Landscape Mode 182 Landscape Text Mode 182 Bitmap Scape 183 Texture Scale 183 Image Size Factor 183 17. Error Recovery and Known Problems 185 System Status, Aborting Operations, and Spawning a New Mouse 185 System Status 185 Aborting Operations 185 Spawning a New Mouse 186 Break Windows 186 Lisp Errors 187 Errors While Running NoteCards 187 Xerox Workstation-Specific Errors 187 Virtual Memory Errors 188 URAID 188 Entering URAID 188 URAID Commands 188 Other Fatal Error Conditions 189 System Error Conditions 189 Known Problems 191 Printing Browsers 191 Notefile Indicator Window 191 Fonts 191 Tedit 191 Appendices, Glossary, and Index Appendix A. Notefile Concepts 193 Background Concepts 193 Unique Identifiers: UIDs 193 Card Parts 193 Notefile Structure: Index and Data Areas 193 Notefile Checkpointing 195 Storing Links and Repairing Notefiles with Inconsistent Links 196 Appendix B. NoteCards Programmer's Interface 197 Notefile Creation and Access 197 Creating and Accessing NoteCard Types 199 Creating Notecards and Fileboxes 203 Accessing Notecards and Fileboxes 206 Creating and Accessing Links 211 Creating and Accessing Link Labels 213 Customizing the NoteCards Interface 214 Handy Miscellaneous Functions 217 Appendix C. Notefile Inspector 225 Running the Notefile Inspector: Phase 1: Scouring the Data Area 225 Continue Repair 226 End Inspect&Repair 226 Abort 227 Recheck Bad Cards 227 Inspect Cards 227 Running the Notefile Inspector: Phase 2: Your Chance to Tinker 227 Card Inspector Menu 228 Card Parts Inspector 229 Cancel 231 Update 231 Delete 231 Undelete 231 Reset 231 Running the Notefile Inspector: Phase 3: Rebuilding Your Links 232 Tips and Hints for Using Inspect&Repair 233 When in Doubt, Abort! 233 Fixing versus Tinkering 233 Inspect&Repair After a Crash 233 Compacting 233 Inspect&Repair Closes the Notefile Before Starting 233 Fixing Enough Problems to Allow Phase 3 to Run 234 Appendix D. Initialization Files 235 Size Initialization File 235 Locating the Initialization File 235 Initialization File Structure 236 Site Variables 236 Appendix E. Checksum Control 241 Commands 241 Output 241 Examples 242 Glossary GLOSSARY-1 Index INDEX-1 [This page intentionally left blank]�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "") STARTINGPAGE# 3) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))�������,����� ���������������������������������5�0�0��������0������������������������������8�0�0��������0��H������������������������������,��������������������������������������<�0�0��������0��H��`����������������T�������������3����� ���������������������T�������������2�������������������������������������������2������������������������������������������2����� +�����������������������������������;�0�0��������0��H��`������������������������������2����� �����������������������������������,�����"���������������������������������-���������������������T�������������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR�������������������������� HELVETICA� +��������� HELVETICA���������� HELVETICA���������� HELVETICA� +����������MODERN� ����������MODERN����������MODERN� +������������������� HRULE.GETFN��MODERN� +������������������������$��������������� HRULE.GETFN��MODERN� +������������������������$���������������������������� HRULE.GETFN��MODERN� +���������������������������������������������� HRULE.GETFN��MODERN� +��������������������������������������� HRULE.GETFN��MODERN��������������������� ������������� �������������������� ���'���������� �������������������� +������������� +������������� +���&���������� +���������������� ���������� +��� ���������� +������������� �������������������� +������������� +������������� +��� +���������� +������������� +������������� +������������� +������������� +��� ���������� +������������� +���!���������� +������������� +������������� +������������� +��� ���������� �������������������� +������������� +������������� +������������� +������������� +������������� +������������� +���)������������������������������ +������������� +������������� +���)���������� +���&���������� +������������� +������������� +������������� +������������� +������������� +���<���������� +���:���������� +���$���������� +������������� +���/���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� ������������� �������������������� +���%���������� +������������� +������������� +������������� +����������������(���������� +������������� +���&���������� +��� ���������� +������������� +���(���������� +������������� +������������� +������������� +���+���������� +������������� +��� ���������� +��� ���������� +������������� +������������� +���%���������� +������������� +������������� +������������� +������������� +������������� ���!����������������� +������������� +���4���������� +���8���������� +������������� +������������� +������������� +������������� +������������� +���%���������� +���,���������� +��������������������������������� �������������������� +���������������� ���������� +������������� ��� ����������������� +������������� +������������� +������������� +���"���������� +������������� +������������� +������������� +������������� +������������� +���"���������� +���(���������� +���#���������� +������������� +������������� +���!���������� +���'���������� +������������� +������������� +������������� +������������� +���&���������� +������������� +������������� +������������� +���/���������� +������������� +������������� +��� ���������� +������������� +������������� +������������� �������������������� +������������� +������������� +������������� +���'���������� +������������� +������������� +������������� +������������� +������������� +������������� +��� ���������� +������������� +���)���������� +��� ���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� �������������������� +������������� +������������� +������������� +���'���������� +������������� +���*���������� +������������� +������������� +���-���������� +������������� +������������� +������������� +���2���������� +������������� +������������� +������������� +���$���������� +������������� +���!���������� +���#���������� +���!���������� +������������� +���!���������� +���)���������� +��� ���������� +������������� +������������� +������������� +���!���������� +������������� +������������� +������������� +������������� +������������� +��� ���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +��� ���������� +������������� +������������� +������������� +��� ���������� +��� ���������� +��� ���������� +��� ���������� +��� ���������� �������������������� +������������� +�������������������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +���*���������� +���8���������� +���'���������� +���"���������� +���$���������� +���#���������� +���(���������� +���"���������� +���������� ���������� �������������������� +������������� +��� +���������� +��� ���������� +���������������� +���������� +��� ���������� +��� ���������� +��� ���������� +������������� +��� ������������� ���������� +������������� +������������� +��� ���������� +��� ������������� +���������� +��� +����������������������� +������������� +������������� +������������� +������������� �������������������� +��� ���������� +��� ���������� +������������� +���%���������� +���&���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +���'���������� +������������� +������������� +������������� +������������� +������������� +���$���������� +������������� +������������� +���"���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +���$���������� +���"���������� +���%���������� +���&���������� +���&���������� �������������������� +������������� +������������� +���%���������� +������������� +���"���������� +������������� +���!���������� +������������� +������������� +������������� +���)���������� +������������� +���������������� +���������� +��� ���������� +������������� +��� +���������� +���������������� +������������� +���������� +��� ���������� +��� ���������� +������������� +������������� +���������������� +���������� +���.���������� �������������������� +������������� +���-���������� +��� ���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +���!���������� +������������� +������������� +���-���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +��� ���������� +������������� +��� ���������� +������������� +��� ���������� +������������� +��� ���������� +������������� +������������� +������������� +������������� +������������� +������������� +������������� +���&���������� +���&���������� +���,���������� +���#���������� +������������� +������������� ��� ����������������� +������������� +������������� +���!���������� +��� ���������� +������������� +���!���������� +���"���������� +������������� +���,���������� +���(���������� +������������� +���2���������� +���(���������� +������������� +������������� +������������� +���!���������� +���"���������� +��� ���������� +���!���������� +������������� +������������� +������������� +������������� +������������� ���&����������������� +���A���������� +������������� +������������� +������������� +������������� +������������� +���$���������� +���'���������� +������������� +��� ���������� +������������� +������������� +���!���������� +�������������������������� +������������� +������������� +��� ������������� ������������������������������ ���������������������������������� +������������� +������������� +������������� +���.���������� +������������� +���B���������� �����������������$����������������� +���!���������� +���*���������� +���%���������� +���&���������� +���!���������� +���'���������� +���(���������� +���"���������� ����������������������������������������� +���D���������� +������������� +���������������� ���������� +������������� +������������� +���C���������� +������������� +������������� +��� ���������� +��� ���������� +��� ���������� +������������� +��� ���������� +���C�������������,���������� +������������� +������������� +���"���������� +������������� +���8���������� +���4���������� ����������������������������������������� +������������� +���&���������� +���#���������� +������������� ����������������������������������������� +��� ���������� +��� ������������� ���������� ���������� ���������� ���������� ���������� ���$������/Yz \ No newline at end of file diff --git a/docs/porter/01-INTRODUCTION.TEDIT b/docs/porter/01-INTRODUCTION.TEDIT new file mode 100644 index 0000000..79a3f9e Binary files /dev/null and b/docs/porter/01-INTRODUCTION.TEDIT differ diff --git a/docs/porter/02-SYSTEM-REQUIREMENTS.TEDIT b/docs/porter/02-SYSTEM-REQUIREMENTS.TEDIT new file mode 100644 index 0000000..d3a193a Binary files /dev/null and b/docs/porter/02-SYSTEM-REQUIREMENTS.TEDIT differ diff --git a/docs/porter/03-SOFTWARE-INSTALLATION.TEDIT b/docs/porter/03-SOFTWARE-INSTALLATION.TEDIT new file mode 100644 index 0000000..cbaa91c Binary files /dev/null and b/docs/porter/03-SOFTWARE-INSTALLATION.TEDIT differ diff --git a/docs/porter/04-SYSTEM-USE-ISSUES.TEDIT b/docs/porter/04-SYSTEM-USE-ISSUES.TEDIT new file mode 100644 index 0000000..652218a Binary files /dev/null and b/docs/porter/04-SYSTEM-USE-ISSUES.TEDIT differ diff --git a/docs/porter/05-NOTECARDS-BASICS.TEDIT b/docs/porter/05-NOTECARDS-BASICS.TEDIT new file mode 100644 index 0000000..95d340f Binary files /dev/null and b/docs/porter/05-NOTECARDS-BASICS.TEDIT differ diff --git a/docs/porter/06-BUILDING-NC-STRUCTURES.TEDIT b/docs/porter/06-BUILDING-NC-STRUCTURES.TEDIT new file mode 100644 index 0000000..936e403 Binary files /dev/null and b/docs/porter/06-BUILDING-NC-STRUCTURES.TEDIT differ diff --git a/docs/porter/07-THE-USER-INTERFACE.TEDIT b/docs/porter/07-THE-USER-INTERFACE.TEDIT new file mode 100644 index 0000000..8e583b5 Binary files /dev/null and b/docs/porter/07-THE-USER-INTERFACE.TEDIT differ diff --git a/docs/porter/08-LINKS.TEDIT b/docs/porter/08-LINKS.TEDIT new file mode 100644 index 0000000..c75d97c Binary files /dev/null and b/docs/porter/08-LINKS.TEDIT differ diff --git a/docs/porter/09-CARDS-&-BANNERS.TEDIT b/docs/porter/09-CARDS-&-BANNERS.TEDIT new file mode 100644 index 0000000..2aa51fb Binary files /dev/null and b/docs/porter/09-CARDS-&-BANNERS.TEDIT differ diff --git a/docs/porter/10-USER-CARDS.TEDIT b/docs/porter/10-USER-CARDS.TEDIT new file mode 100644 index 0000000..6022a75 Binary files /dev/null and b/docs/porter/10-USER-CARDS.TEDIT differ diff --git a/docs/porter/11-SYSTEM-CARDS.TEDIT b/docs/porter/11-SYSTEM-CARDS.TEDIT new file mode 100644 index 0000000..dd7cb87 Binary files /dev/null and b/docs/porter/11-SYSTEM-CARDS.TEDIT differ diff --git a/docs/porter/12-MENUBOX-ICON.TEDIT b/docs/porter/12-MENUBOX-ICON.TEDIT new file mode 100644 index 0000000..85a5c24 Binary files /dev/null and b/docs/porter/12-MENUBOX-ICON.TEDIT differ diff --git a/docs/porter/13-PARAMETERS.TEDIT b/docs/porter/13-PARAMETERS.TEDIT new file mode 100644 index 0000000..e562bc2 Binary files /dev/null and b/docs/porter/13-PARAMETERS.TEDIT differ diff --git a/docs/porter/14-FILEBROWSER.TEDIT b/docs/porter/14-FILEBROWSER.TEDIT new file mode 100644 index 0000000..2cdc461 Binary files /dev/null and b/docs/porter/14-FILEBROWSER.TEDIT differ diff --git a/docs/porter/15-OTHER-TOOLS.TEDIT b/docs/porter/15-OTHER-TOOLS.TEDIT new file mode 100644 index 0000000..50ff5f1 Binary files /dev/null and b/docs/porter/15-OTHER-TOOLS.TEDIT differ diff --git a/docs/porter/16-PRINTING.TEDIT b/docs/porter/16-PRINTING.TEDIT new file mode 100644 index 0000000..0b9f547 Binary files /dev/null and b/docs/porter/16-PRINTING.TEDIT differ diff --git a/docs/porter/17-PROBLEMS-&-ERRORS.TEDIT b/docs/porter/17-PROBLEMS-&-ERRORS.TEDIT new file mode 100644 index 0000000..f8f4fd9 Binary files /dev/null and b/docs/porter/17-PROBLEMS-&-ERRORS.TEDIT differ diff --git a/docs/porter/APP-A-NOTEFILE-CONCEPTS.TEDIT b/docs/porter/APP-A-NOTEFILE-CONCEPTS.TEDIT new file mode 100644 index 0000000..0f53f4b --- /dev/null +++ b/docs/porter/APP-A-NOTEFILE-CONCEPTS.TEDIT @@ -0,0 +1,13 @@ +1 NoteCards User's Guide, Release 2.0 1 NoteCards User's Guide, Release 2.0 APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A. NOTEFILE CONCEPTS 1 APPENDIX A - NOTEFILE CONCEPTS 6 This document provides a brief explanation of the structure of notefiles. It also describes how checkpointing, aborting, and recovering a notefile after a crash work. Finally, it describes the use of Inspect & Repair to repair a notefile with inconsistent links. For additional information see Appendix C, Notefile Inspector. Background Concepts 1 Unique Identifiers: UIDs(UIDS NIL UIDs NIL NIL 193) All objects in NoteCards(NOTECARDS NIL NoteCards NIL NIL 193 SUBTEXT unique% identifiers) (i.e., cards, links, notefiles) are assigned a unique identifier called a UID(NOTECARDS NIL NoteCards NIL NIL 193 SUBTEXT UIDs). Each UID is a 112-bit number that is guaranteed to be unique across all time and space. UIDs are used in many places in NoteCards as keys for indexing and retrieving cards, links, and notefiles. Card(CARDS NIL Cards NIL NIL 193 SUBTEXT parts) Parts For storage purposes a note card is decomposed into four independent parts: contents, title, property list, and links. Each of these parts is stored separately in the data area of the notefile. This is discussed in the Notefile Structure section below. When a card is saved, only those card parts that have changed are rewritten in the notefile. The contents of the card are stored on the notefile in a manner appropriate to its type. Thus a Text card's content is a text stream and is written on the notefile exactly the way TEdit writes out text streams (i.e., text followed by "looks" information). In contrast, all titles are stored as strings and all property lists as standard Lisp lists. Storage of Links is described in the last section in this chapter. Notefile(NOTEFILE NIL Notefile NIL NIL 193 SUBTEXT structure) Structure: Index(INDEX NIL Index NIL NIL 193) and Data Areas(DATA% AREA NIL Data% Area NIL NIL 193) 1 A notefile consists of three parts, a header, an index, and a data area. The header and the index are fixed in size for each notefile. The data area follows the index area and grows as cards are added to or modified in the notefile. The notefile(NOTEFILE NIL Notefile NIL NIL 193 SUBTEXT header) header contains the following information about the notefile: its UID, a number identifying its format, the checkpoint pointer, the size of the index, and a pointer to the next available index entry. If the notefile header is destroyed, it cannot be automatically reconstructed. Careful hand manipulation of the notefile by a NoteCards wizard is required to recover a notefile with a bad header. The structure of the index and data area is shown in Figure A-1 . The index contains a fixed number of index entries. Each index entry that is in use, contains information for one of the cards in the notefile. Specifically, an index entry contains 5 fields: a status character, the card's UID, and 4 pointers. The status character specifies whether the index entry is free (not in use) or contains information for an active or a deleted card. If the index entry is not free, the UID field contains the UID of the card referred to by this index entry and the four pointer fields contain the location in the data area of the 4 parts of its card: contents, title, links and property list. The number of index entries is fixed at notefile creation time. The default is 1000 entries. The number of index entries is automatically doubled by the notefile compactor if 75% of the entries are used. The compactor also frees (i.e., makes unused) all of the index entries that refer to deleted cards. In normal operation, NoteCards prints a warning whenever more than 90% of the index entries in a notefile are used. At this point, the notefile should be compacted to increase the index size. The data area contains the actual information about the card. Whenever you change, say, the title of a card, the new title is written at the end of the data area. The title pointer in the card's index entry is then updated to point to this new location in the data area. Thus, in general, a notefile's data area grows every time any part of any card is changed. The old information, now somewhere in the middle of the data area, is not removed. However, it is no longer directly accessible because there is no index entry that points to it. Thus, for most purposes this old information can be considered "dead space" in the notefile. The notefile compactor rewrites the notefile, eliminating all such dead space. ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (73 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (LINE 18.0 15) NIL LAST (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1.0 NIL)) ((0.168 152.0 (PRI 1)) (BOX (240.0 16.0 168.0 304.0) (ROUND 1 BLACK) NIL 1.0 (NIL NIL NIL))) ((0.024 84.0 (PRI 8)) (TEXTBOX (240.0 296.0 168.0 24.0) ("Notefile Header") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 302.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 37)) (TEXTBOX (240.0 144.0 96.0 32.0) ("Card A " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 160.0 42 12) (260.0 148.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 248.0 168.0 24.0) ("Index Entry #2") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 254.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 272.0 168.0 24.0) ("Index Entry #1") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 278.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 96.0 (PRI 48)) (TEXTBOX (40.0 200.0 192.0 24.0) (" Active: UID: | | | | ") 1.0 (LEFT CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((42.0 206.0 203 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 176.0) (408.0 . 176.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 175.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 176.0 168.0 24.0) ("Index Entry #N") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 182.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 200.0) (408.0 . 200.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 199.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 200.0 168.0 24.0) ("...") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((313.5 206.0 21 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 224.0 168.0 24.0) (" Index Entry #3") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 230.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 248.0) (408.0 . 248.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 247.0 170.0 2.0) NIL)) ((0.032 48.0 (PRI 41)) (TEXTBOX (240.0 80.0 96.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 96.0 42 12) (270.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 34)) (WIRE ((240.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 111.0 170.0 2.0) NIL)) ((0.0 4.0 (PRI 35)) (WIRE ((408.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (407.0 111.0 2.0 2.0) NIL)) ((0.032 36.0 (PRI 42)) (TEXTBOX (336.0 80.0 72.0 32.0) ("Card B " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 96.0 42 12) (354.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 16.0 (PRI 36)) (WIRE ((312.0 . 144.0) (312.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (311.0 111.0 2.0 34.0) NIL)) ((0.032 36.0 (PRI 39)) (TEXTBOX (240.0 112.0 72.0 32.0) ("Card A " "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((251.5 128.0 49 12) (258.5 116.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 48.0 (PRI 31)) (WIRE ((240.0 . 144.0) (336.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 143.0 98.0 2.0) NIL)) ((0.0 40.0 (PRI 33)) (WIRE ((328.0 . 144.0) (408.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (327.0 143.0 82.0 2.0) NIL)) ((0.032 48.0 (PRI 40)) (TEXTBOX (312.0 112.0 96.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((339.0 128.0 42 12) (332.0 116.0 56 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.032 36.0 (PRI 38)) (TEXTBOX (336.0 144.0 72.0 32.0) ("Card A " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 160.0 42 12) (354.5 148.0 35 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 272.0) (408.0 . 272.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 271.0 170.0 2.0) NIL)) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 296.0) (408.0 . 296.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 295.0 170.0 2.0) NIL)) ((0.0 48.0 (PRI 53)) (WIRE ((144.0 . 208.0) (144.0 . 160.0) (240.0 . 160.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (143.0 159.0 98.0 50.0) (NIL ((240.0 . 160.0) (227.63626 . 155.98277) (227.63626 . 164.01723))))) ((0.0 4.0 (PRI 55)) (WIRE ((144.0 . 208.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 15.0) T) NIL 1.0 (143.0 207.0 2.0 2.0) (NIL NIL))) ((0.0 56.0 (PRI 56)) (WIRE ((168.0 . 208.0) (168.0 . 96.0) (240.0 . 96.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (167.0 95.0 74.0 114.0) (NIL ((240.0 . 96.0) (227.63626 . 91.98278) (227.63626 . 100.01722))))) ((0.0 40.0 (PRI 57)) (WIRE ((200.0 . 208.0) (200.0 . 128.0) (240.0 . 128.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (199.0 127.0 42.0 82.0) (NIL ((240.0 . 128.0) (227.63626 . 123.98278) (227.63626 . 132.01723))))) ((0.032 36.0 (PRI 60)) (TEXTBOX (336.0 16.0 72.0 32.0) ("Card D " "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 32.0 42 12) (354.5 20.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 84.0 (PRI 58)) (TEXTBOX (240.0 48.0 168.0 32.0) ("Card B " "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((303.0 64.0 42 12) (296.0 52.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 59)) (TEXTBOX (240.0 16.0 96.0 32.0) ("Card A " "Prop" "List") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 38.0 42 12) (274.0 26.0 28 12) (274.0 14.0 28 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 88.0 (PRI 61)) (WIRE ((224.0 . 208.0) (224.0 . 32.0) (240.0 . 32.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (223.0 31.0 18.0 178.0) (NIL ((240.0 . 32.0) (227.63626 . 27.98278) (227.63626 . 36.01722))))) ((0.05 12.0 (PRI 62)) (TEXT (136.0 . 240.0) ("Index Entry for Card A") 1.0 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((59.0 237.0 154.0 12.0)) BLACK)) ((0.041 44.0 (PRI 71)) (GROUP (48.0 72.0 88.0 41.0) (((0.05 12.0 (PRI 65)) (TEXT (88.0 . 104.0) ("Legend") 1.0 (CENTER BASELINE) (GACHA 10 (BOLD REGULAR REGULAR)) ((67.0 101.0 42.0 12.0)) BLACK)) ((0.024 44.0 (PRI 67)) (TEXTBOX (48.0 72.0 88.0 24.0) ("Dead Space") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((57.0 78.0 70 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL)))) (96 . 96))) ((0.061 142.0 (PRI 72)) (GROUP (414.0 14.0 61.0 284.0) (((0.0 4.0 (PRI 21)) (WIRE ((416.0 . 296.0) (424.0 . 296.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 60.0 (PRI 22)) (WIRE ((424.0 . 296.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 23)) (WIRE ((416.0 . 176.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 24)) (WIRE ((424.0 . 240.0) (432.0 . 240.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 25)) (TEXT (440.0 . 232.0) ("Index" "") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 235.0 35.0 12.0) (440.0 223.0 0.0 12.0)) BLACK)) ((0.0 80.0 (PRI 26)) (WIRE ((424.0 . 176.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 27)) (WIRE ((416.0 . 16.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 28)) (WIRE ((424.0 . 96.0) (432.0 . 96.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 30)) (TEXT (440.0 . 96.0) ("Data " "Area") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 99.0 35.0 12.0) (440.0 87.0 28.0 12.0)) BLACK))) (440 . 160)))) (37.0 9.0 439.0 330.0) 1.0 8 Figure A-1. Structure of a Notefile As long as the notefile has not been compacted, all the old information can be accessed (and made to be "current") via the notefile Inspect and Repair facility. Inspect and Repair does this by ignoring the index and parsing the entire data area to produce a listing of all the information (both current and old) about a card that is stored on the data area. See the Inspect and Repair manual for more information. Notefile(NOTEFILE NIL Notefile NIL NIL 195 SUBTEXT checkpointing) Checkpointing(CHECKPOINTING NIL Checkpointing NIL NIL 195) 1 As long as a notefile is open, its index area is cached in memory. When a card part is saved, the card part's information is written to the end of the data area but the card's actual index entry on the notefile is not updated with this new location. Instead, the appropriate pointer in the card's in-memory index entry is updated. Thus, the index in the notefile continues to point to the old information in the data area, while the in-memory index points to the new information. Thus while a notefile is open, its current state is distributed between the actual notefile and information cached in memory. The current index is cached in memory. For cards open on the screen (or cached in memory from the programmer's interface), the "current" card part information is contained in an in-memory cache. For all other cards, the current information is contained in the data area of the notefile pointed to by the in-memory index entry. If a machine crashes while a notefile is open, the information cached in memory is lost. A crash not only discards changes made to cards on the screen, but its also leaves the information stored on the notefile in an inconsistent state. For example, the index on the notefile may point to old information in the data area. This occurs because the new information (e.g., a new title) is written to the data area but only the in-memory index pointers (which are lost in the crash) have been updated to point to the new information. Checkpointing forces all of the in-memory information to be written onto the notefile. Specifically, checkpointing causes all open cards to be saved and the in-memory index to be written to the notefile's index area. Thus, immediately after checkpointing, the notefile itself contains its current (and consistent) state. If the machine were to crash at this point, no information would be lost and the notefile would be consistent. Checkpointing also writes a checkpoint pointer onto the notefile header. The checkpoint pointer contains the location of the end of the data area (i.e., the end of the notefile) at the time the checkpoint is done. As the notefile is used after the checkpoint, information is written in the data area past the checkpoint pointer but only the in-memory index entries are updated to point to this information. The on-file index entries still point to the information in the data area before the location referenced by the checkpoint pointer. Thus, a consistent notefile can be constructed from the index area and all of the information in the data area located before the checkpoint location. This is essentially the notefile as it was at the time of the last checkpoint. (Note: one small exception is that changes to a card's size on the screen are actually written in the middle of the data area rather than at the end. Thus, truncating a notefile to its checkpoint location cannot "undo" the reshaping of a card.) When opening a notefile after a crash, the system will insure that the notefile is in a consistent state. It does so by truncating the data area to the last checkpoint location, saving the truncated information if requested by the user. This leaves the notefile in the state it was during the last checkpoint before the crash. Aborting a notefile does the same thing. It truncates the data area to the last checkpoint location, thereby eliminating all changes made to the notefile since the last checkpoint. It also discards the in-memory index. Thus, the notefile is left in the exact state it was after the last checkpoint. Finally, note that notefile Close forces a checkpoint. Therefore, aborts and recovery after crashes actually restore the NoteFIle to its state as of the last user-initiated checkpoint or close. Storing Links(LINKS NIL Links NIL NIL 196 SUBTEXT storing) and Repairing Notefiles(NOTEFILES NIL Notefiles NIL NIL 196 SUBTEXT repairing% inconsistent% links) with Inconsistent Links 1 The links card part is divided into three subcomponents: to-links, from-links, and global links. The to-links is a list of all links whose Source is the given card (i.e., that point from the card to some other card). The from-links is a list of links whose Destination is the given card (i.e., that point from some other card to the given card). Finally, the global links is a subset of the to-links that includes only the Global links originating in the given card. Given this scheme, every link is stored on the notefile in three different places. First, if the link is Local it is stored inside the link icon which in turn is inside the content part of the link's source card. If the link is global, it is stored in the global links subpart of its source card. Second, the link is stored in the to-links list of its source card. Third, the link is stored in the from-links list of its destination card. These three records of the same link occasionally get out of synch, resulting in an inconsistent notefile. There are a number of symptoms of such inconsistency. For example, the ShowLinks display for card may indicate that the card is a destination for a link from some source card X while the ShowLinks display for X does not include a ToLink to that destination card. Occasionally, inconsistent links will also result in link icons that contain the words "DELETED" or "FREE" when displayed on the screen. This usually means that the card at one end of a link was deleted, but somehow the links of the card at the other end were not updated. Such link icons cause NoteCards to break when you try to follow them. One function of the NoteCards Inspect & Repair facility is to resynchronize the three records for all links in the notefile. The inspector's third phase rebuilds the links as follows. First it removes all to- and from-links for every card. Then it reads the contents for each card and recreates to-links and from-links by looking at the links found inside the link icons in the card's content and in its global links list. In addition, the links rebuilder phase of the notefile inspector can rebuild filebox contents from cards pointed to by the filebox, and the set of all link types from the list of all links. [This page intentionally left blank] �����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 193) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))�������.������������������������T���T���������,�H�H���������������������������������-�$�$������������������������T���������-����������������������������T���������,�H�H���������������������������������-�����������������������������T���������,�H�H� +��������������������������������,�H�H���������������������������������-��������������������T�������������,�������������������������������������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR�������������������,���������������������������������������������� �� HELVETICA� ��������� HELVETICA���������� HELVETICA���������� HELVETICA� +����������CLASSIC� +���������CLASSIC� ���������CLASSIC� +���������CLASSIC� +����������CLASSIC����������CLASSIC����������MODERN����������MODERN� +������������������� HRULE.GETFN��MODERN� +��������������� ���������$���������� ����� HRULE.GETFN��MODERN� +��������������� ������ ���$���������� ������������� ����� HRULE.GETFN��MODERN� +��������������� ������ ������������� ����� HRULE.GETFN��MODERN� +��������������� ��������� ��������������� HRULE.GETFN��CLASSIC��������������� �����������������������o���������������������������� HRULE.GETFN��CLASSIC��������������� ������������������IM.INDEX.GETFN������������������������A��IM.INDEX.GETFN����N�������2��IM.INDEX.GETFN������������������������+��IM.INDEX.GETFN�����������������������]����������������������� ����������������5��IM.INDEX.GETFN�������������IM.INDEX.GETFN�����������'��IM.INDEX.GETFN������������������� HRULE.GETFN��CLASSIC��������������� ���������������������� �������2��IM.INDEX.GETFN����������������B������������q������������������������m������������d���������� +�� �� SKIO.GETFN.2��MODERN� +��������������� ���������%����������������������� ����������������9��IM.INDEX.GETFN�����������-��IM.INDEX.GETFN������������������� HRULE.GETFN��CLASSIC��������������� ����������������������������������������������������������������������������������� �������������������������J������������.�������������������������������������� ��������� �������-��IM.INDEX.GETFN�����������L��IM.INDEX.GETFN������������������� HRULE.GETFN��CLASSIC��������������� ���������������������������������������� ��������������������������������<����������������������� ���%���������� ��������M"�z \ No newline at end of file diff --git a/docs/porter/APP-B-PROG-INTERFACE.TEDIT b/docs/porter/APP-B-PROG-INTERFACE.TEDIT new file mode 100644 index 0000000..f9365b1 Binary files /dev/null and b/docs/porter/APP-B-PROG-INTERFACE.TEDIT differ diff --git a/docs/porter/APP-C-NOTEFILE-INSPECTOR.TEDIT b/docs/porter/APP-C-NOTEFILE-INSPECTOR.TEDIT new file mode 100644 index 0000000..48e92b3 Binary files /dev/null and b/docs/porter/APP-C-NOTEFILE-INSPECTOR.TEDIT differ diff --git a/docs/porter/APP-D-INITIALIZATION.TEDIT b/docs/porter/APP-D-INITIALIZATION.TEDIT new file mode 100644 index 0000000..dbeb577 Binary files /dev/null and b/docs/porter/APP-D-INITIALIZATION.TEDIT differ diff --git a/docs/porter/APP-E-CHECKSUM.TEDIT b/docs/porter/APP-E-CHECKSUM.TEDIT new file mode 100644 index 0000000..2a40cee Binary files /dev/null and b/docs/porter/APP-E-CHECKSUM.TEDIT differ diff --git a/docs/porter/INDEX.TEDIT b/docs/porter/INDEX.TEDIT new file mode 100644 index 0000000..d39af95 --- /dev/null +++ b/docs/porter/INDEX.TEDIT @@ -0,0 +1,81 @@ +1 NoteCards User's Guide, Release 2.0 1 NoteCards User's Guide, Release 2.0 INDEX 1 INDEX 1 INDEX 6 A Abort (Option) 106,127 Abort All (Option) 128 Abort and Abort Notefile (Option) 128 Abort current process 31 Aborting Operations 185 Add Border (Option) 102 Add Global Link (Option) 90 Add Label (Option) 97 Add Link (Option) 96 Add New Property (Option) 86 Add New Regional Time Zone (Option) 166 Add Node (Option) 97 Add to which directory group? (Menu) 176 Allowed Logins (Menu) 56 Allowed Logins (Option) 56 Alphabetized FileBox Children (Parameter) 141 Analog clock 167 changing 168 known problems 170 starting 168 stopping 168 Any Login (Option) 57 Arrow Heads In Browsers (Parameter) 142 Arrowheads (Option) 114 Assign Title (Option) 88 Asterisk 23 Attach Sketch Menu (Parameter) 142 Authenticate (Option) 57 B Back links 109,111 Background (Menu) 53 Backslash 20 Banner, notefile 79 \\BeginDST (Variable) 240 Bitmap operations 100 texture editor 102 Bitmap Editor (Menu) 104 Bold (Option) 110 Bouncing Box (Option) 56 Bouncing Username (Option) 56 Boxes only (Option) 111 Break windows 32,186 Bring Up Card/Box (Option) 75 Bring Up Cards At Previous Pos (Parameter) 141 Browser cards 84,112 parameters 141 Browser Specs (Option) 114 Browser Specs? (Menu) 113 BrowserOverviewWin (Option) 116 BuildBacklinks (Option) 111 Bury (Option) 49 C C-Shell 20 Can't Convert a POSTSCRIPT for a NIL Printer (Error Message) 179 Can't determine IMAGETYPE for {LPT} (Error Message) 178 Cancel (Option) 82,88 Card (Menu) 67 Card parameters 140 Card types Browser 112 Document 109 LinkIndex 108 Search 107 Card Types (Menu) 39,84 Card Types Menu Option 107 Cards 38 closing 39 creating 39 creating new 83 FileBox 92 Graph 94 graph-based 73 lost 68 opening 37 parts 193 size 42 Sketch 93 Sketch-based 72,100 temporary Filebox 83 Text 91 text-based 72, 99 types 63 unfiled 68 unspecified Filebox 83 user 91 Cards and Boxes (Option) 111 Cards only (Option) 111 Case sensitivity 1,20 Certainty Value property 85 Change Card Title (Option) 75 Change Display Mode (Option) 75 Change Label (Option) 97 Change Link Type (Option) 75 Change Num (Option) 82 Change Scale (Option) 101 CHANGE.DEFAULT (Option) 170 ChangeBrowserRoots (Option) 116 ChangeBrowserSpecs (Option) 116 ChangeOverviewSpecs (Option) 116 Characters, special 20 Checkpoint (Option) 125 Checkpoint (Menu) 126 Checkpoint All (Option) 126 Checkpointing 195 Choose Default Printer (Menu) 174 Choose Display (Option) 56 Choose Font Profile to Update (Menu) 58 Choose Printer to Remove (Menu) 175 Choose Shade (Menu) 48 Clear (Option) 49,105 CLEAR how much? (Menu) 105 Clocks analog 167 digital 163 Clocks (Menu) 54 Clocks (Option) 54 Close (Menu) 127 Close (Option) 46,127 Close All (Option) 127 Close All w/o confirm (Option) 127 Close and Close NoteCards (Option) 129 Close and Close Notefile (Option) 127 Close and Save (Option) 39,89 Close and Save (Option) 89 Close Cards Off Screen (Parameter) 140 Close Structure (Option) 129 Close w/o confirm (Option) 127 Close w/o Saving (Option) 39,89 Closing cards 39 notefiles 35 Compact (Menu) 123 Compact (Option) 123 Compact In Place (Option) 124 Compact To New File (Option) 123 Compatibility file 18 sysout 18 Compile (Option) 158 Configuring, software 11 Connect Nodes (Option) 96 Console messages 18 Conventions common {DSK} and {UNIX} 20 file naming 19 fonts 2 keyboard 3 notation 2 NoteCards devices 2 prompts 3 {DSK} naming 20 {UNIX} naming 22 Copy (Menu) 131 Copy (Option) 124,130,153 Copy protection 10 CopyEmbeddedLinks (Option) 111 Create (Menu) 125 Create (Option) 125 Create (Menu) 34 Create and Open (Option) 34,125 Create without Open (Option) 34,125 Creating cards 39 CREATIONDATE (File Attribute) 25 Cross File Link Mode (Parameter) 143 Cross-file links 77 appearance 77 missing notefiles 77 Cursor (Option) 106 D Damaged Notefile 122 Dashed Links (Option) 114 Data Area 193 Default Card Type (Parameter) 140 Default Font (Option) 60 Default Font (Parameter) 138 Default printer adding 173 removing 175 setting 174 DEFAULTOSTYPE (Variable) 238 DEFAULTPRINTERTYPE (Variable) 50,239 DEFAULTPRINTINGHOST (Variable) 238 Del TEdit Process When Shrinking (Parameter) 137 Delete (Menu) 152 Delete (Option) 124,130 Delete Alarm Setting (Option) 166 Delete Card (Option) 89 Delete Link (Option) 97 Delete Node (Option) 96 Delete Old Versions (Option) 152 Delete Selected Property (Option) 86 Delete This Window (Option) 166 Designate FileBoxes (Option) 87 Digital clock 12-hour/24 hour toggle 166 adding new time zone 166 change time zone 166 changing 164 deleting alarm setting 166 setting AUX clock font 167 setting AUX clock in current window 167 setting alarm 165 setting alarm loudness 166 setting font 164 setting regional time zone 167 setting time 165 setting time zone heading 167 sizing display 166 starting 163 stopping 163 Directed/Undirected (Option) 98 DIRECTORIES (Variable) 236 Directory creating 24 deletion 24 enumeration 23 home 20 parent 20 root 20 working 20 Directory connector 170 changing fonts 170 starting 170 stopping 170 using 171 Directory Connector (Option) 55 Disconnect Nodes (Option) 97 Disk space 5 DISPLAYFONTDIRECTORIES (Variable) 237 Do what with deleted files? (Menu) 150 Document cards 84,109 Documentation kit 6 Don't Expunge (Option) 150 Done (Option) 88 {DSK} naming conventions 20 special characters 20 {DSK}INIT.LISP (Variable) 235 E Edit (Menu) 158 Edit (Option) 157 Edit Parameters (Option) 131,135 Edit Property List (Option) 85 Emulator 1 End-of-line convention 18 \\EndDST (Variable) 240 Error messages 187 Error recovery URAID debugger 187,188 Errors break window 32 correcting 32 fatal 189 file system 25 I/O 187 NoteCards 187 system 189 virtual memory 188 Exiting NoteCards 36 Expand (Option) 52,53 Expand on Bottom (Option) 102 Expand on Left (Option) 102 Expand on Right (Option) 102 Expand on Top (Option) 102 ExpandBrowserNode (Option) 115 ExpandEmbeddedLinks (Option) 111 Expunge (Option) 158 Expunge deleted files (Option) 150 Extra TEdit Props (Parameter) 136 F Fast SEE Pretty (Option) 155 Fast SEE Unformatted (Option) 155 fg (UNIX Command) 58 File attributes 25 File capacity 81 File compatibility 18 File name conventions 19 File system errors 25 File type? (Menu) 50 FileBox card parameters 141 cards 92 Orphans 83 Table of Contents 83 To be Filed 83 FileBox Card (Menu) 90,93 FileBoxes 84 accessing 206 creating 203 general 92 system parameters affecting 93 Filebrowse (Option) 155,157 FileBrowser 145 aborting commands 149 browser window 147 command menu 147 command requiring input 149 commands 151 copy-selecting files 151 copying files 153 exiting 150 hardcopy directory listings 151 hardcopying 154 info menu 148 prompt window 147 removing files 151 renaming files 154 scroll bar 148 seeing (reviewing) file 155 selecting files 148 specifying browse files 145 starting 145 tally window 147 troubleshooting 162 FileBrowser (Option) 54 FileBrowser Display Font (Option) 59 FileBrowser Prompt Font (Option) 59 Files, open 24 FIX MENU (Option) 99 Flush image & Exit (Option) 36,58 Font directories 7,175 adding 175 removing 177 setting 175 viewing 176 Font not Found (Error Message) 179 Fonts 2 conventions 2 default 60 FileBrowser display 59 FileBrowser prompt 59 menu 60 nonexistent 59 parameters 137 prompt window 59 selecting display 58 Force Filing (Parameter) 140 Force Titles (Parameter) 140 Forget (Option) 56 From Contents (Option) 124 From Links (Option) 124 G Ghost frame 51 Global default (Option) 161 Global link, adding 72 Graph cards 84,94 Graph-based cards 73 deleting links from contents 74 Graph-Card (Menu) 94 GraphEditMenu (Option) 115 Grapher (Menu) 94 Grid On/Off (Option) 105 GridSize (Option) 105 Group (Option) 57 H Hand Edit (Option) 101 HANDS (Option) 169 Hardcopy (Menu) 49,155 Hardcopy (Option) 49,54 HeadingsFromFileBoxes (Option) 110 Host access key obtaining 10 using 12 I I/O Errors 187 Icons shrink Icon (Menu) 52 Icons, shrink 31 FileBrowser window 52 MenuBox 52 Notecard 52 Sketch window 52 TEdit window 52 Idle (Menu) 55 Idle (Option) 55 Idle Display (Menu) 56 IDLE.PROFILE (Variable) 239 Include Card Object In ShowInfo (Parameter) 137 Include cards at: (Menu) 130 Index 193 Indicate NoteFile (Option) 87 Indicators Off (Option) 131 Infinite (Option) 161 Input/output devices, requirements 5,6 Insert Link (Option) 69,88 Insert Links (Option) 71 Inspect & Repair (Menu) 124 Inspect & Repair (Option) 123,124 Installation, software 9 InterPress, printing 154 INTERPRESSFONTDIRECTORIES (Variable) 237 Interrupt Which Process? (Menu) 185 K Keyboard 15 conventions 3 Sun 3 16 Sun 4 17 L label larger (Option) 97 label smaller (Option) 97 Landscape description 179 printer setting 179 Landscaped sketch (Option) 54 Larger Label (Option) 97 lde 11 ldeether 11 LDEINIT (Variable) 235 LDESOURCESYSOUT (Variable) 14 Left angle bracket 20 Link categories 63 from-links 63 global to-links 63 to-links 63 Link Dashing In Browser (Parameter) 142 Link Icon Attach Bitmap Default (Parameter) 144 Link Icon Border Width (Parameter) 142 Link Icon Font (Parameter) 138 Link Icon Max Width in Pixels (Parameter) 143 Link Icon Multi Line Mode (Parameter) 143 Link Icon Show Link Type Default (Parameter) 144 Link Icon Show Title Default (Parameter) 144 Link icons active regions 64 functionality 64 mouse button use with 65 Link Index Specs? (Menu) 109 Link labels accessing 213 creating 213 Link Ops (Menu) 75 Link parameters 142 Link type 42 Link Type (Menu) 69 Link types 42 BrowserContents 61 DocBack 62 FiledCard 61 LinkIndexBackPtr 62 ListContents 61 SubBox 61 unspecified 42 user-specified Comment 62 See 62 Unspecified 62 customizing 62 vs. card types 63 LinkIndex cards 84,108 Links 72 access and use 64 accessing 211 adding global 72 adding multiple global 72 back 63 backward 63 creating 69,211 creating in text cards 69 cross-file 77 deleting from card contents 73 deleting from show links display 74 directions 63 ends 63 forward 63 global 63 global, viewing 67 inserting multiple 71 inserting single 69 local 63 local, viewing 67 storing 196 system parameters for 76 system-reserved 61 tailoring 75 traversing 37 types 61 user-specified 62 LISPUSERSDIRECTORIES (Variable) 236 Load (Option) 158 Load Patches (Option) 133 Locked (Option) 57 Logout (Option) 57 Logout / Save image & Exit (Option) 36 *LONG-SITE-NAME* (Variable) 240 Low Level Tools (Option) 58 M Make Document Parameters (Menu) 110 Make this the new default? (Menu) 50 Markers In FileBoxes (Parameter) 141 Memory requirement 5 Menu Font (Option) 60 Menu Font (Parameter) 138 Menu Lingers After Notefile Close (Parameter) 140 MenuBox Icon 121 Mode (Menu) 47 Mouse buttons left 28 mifflr 28 right 28 using 27 new, spawning 186 screen sensitivity to 28 Move (Menu) 131 Move (Option) 51,131 Move Node (Option) 95 Move Node & SubTree (Option) 96 Move Region (Option) 96 Move Single Node (Option) 96 Multiple Roots (Option) 114 Multiple users 42 N Naming conventions NoteCards devices 2 common {DSK} and {UNIX} 20 file 19 {DSK} 20 {UNIX} 22 NC FileBrowser (Option) 128 New cards 83 New Cards (Option) 39 New Info (Option) 160 New Notefile Initial Size (Parameter) 140 New Pattern (Option) 159 New Process Limit (Option) 133 New Wait Time (Option) 133 NewCards (Option) 83 NF Indicators On (Menu) 132 NF Indicators On (Option) 131 NO.HANDS (Option) 169 NO.NUMBERS (Option) 169 NO.RINGS (Option) 169 NO.TIMES (Option) 169 NONE (Option) 110,111 Notation conventions 2 NotBold (Option) 110 NoteCard types accessing 199 creating 199 NoteCards 13 UIDs 193 accessing 206 creating 203 documentation kit 6 exiting 14,35,36 interface, customizing 214 remote running 18 specializing 43 starting 32 structure 41 system parameters 136 unique identifiers 193 NoteCards (Option) 54 NoteCards Parameters (Menu) 135 Notefile accessing 197 banner 79 checkpointing 195 closing 35 Abort 35 Close 35 creating 197 creating new 34 header 193 index rebuild using notefile links plus 124 rebuild using only notefile links 124 indicators 132 opening 32 parameters 139 structure 193 notefile 42 Notefile Inspector 225 Notefile Ops (Menu) 79,121 Notefile parameters 139 Notefiles 2 damaged 122 repairing inconsistent links 196 saving contents 125 Number (Menu) 105 Number Pad (Menu) 55 NumberedBold (Option) 110 NUMBERS (Option) 169 O OK (Option) 106 Open (Option) 122 Open file limit 24 Open Read-only (Option) 122 Open Read/Write (Option) 122 Operating system requirements 6 Operations on Bitmaps (Menu) 100 Orphans FileBox 83 Other Ops (Menu) 135 P Page sized sketch (Option) 53 Paint (Option) 47,104 Paint Command (Menu) 47 Passwords authenticating 57 Pathname default 24 Pathnames 22 Period double 20,24 single 20,24 Please select a font: (Menu) 59 Please select a font: (Menu) 137 POINTS (Option) 169 Portrait description 179 printer setting 179 PostScript long edge points 182 long edge shift 182 printing 154 PostScript Font Association (Menu) 180 Postscript Parameters (Option) 58 PostScript Printer customizing 179 PostScript Short Edge Points 181 POSTSCRIPTFONTDIRECTORIES (Variable) 238 Print InterPress files 154 PostScript files 154 Sketch files 154 TEdit files 154 text files 154 Printer adding default 173 default, removing 175 default, setting 174 setting up 173 troubleshooting 178 Processor hardware, requirements 5 Prompt Window Font (Option) 59 PUP protocol enabling 11 PUP Ethernet 14 Put Cards Here (Option) 90 Q Quiet Alarm/Loud Alarm (Option) 166 Quit - Saving Changes (Option) 86 Quit w/o Saving Changes (Option) 86 R Recompute (Menu) 159 Recompute (Option) 159 Recompute Browser (Option) 113 RecomputeBrowser (Option) 115 ReconnectNodes (Option) 115 Redisplay (Option) 49 Reflect Diagonally (Option) 101 Reflect Left-to-right (Option) 101 Reflect Top-to-bottom (Option) 101 RelayoutGraph (Option) 115 Release contents 6 Relinking 11 Remove Default Printer (Option) 175 Remove Font Directory (Option) 177 Remove from which directory group? (Menu) 177 Remove Node (Option) 96 Remove which directory? (Menu) 177 Rename (Option) 124,154 Requirements disk space 5 hardware 5 input/output devices 5 memory 5 operating system 6 swap space 5 tape access 6 Reset (Option) 105 RESET how much? (Menu) 105 RINGS (Option) 169 rmdir (UNIX Command) 24 Rotate Left (Option) 101 Rotate Right (Option) 101 S Same Pattern (Option) 159 Save image & Exit (Option) 58 Save VM (Option) 58 Save w/o Closing (Option) 89 Saving State 14 Scroll bars 31 down 31 jump 31 up 31 Scrollable & Pretty (Option) 155 Search Card (Menu) 107 Search Cards 107 See (Menu) 156 See (Option) 155 See Window Control (Menu) 156 Set Alarm (Option) 165 Set Aux Clock Font In Just This Window (Option) 167 Set Default Display Font (Option) 58 Set Default Printer (Option) 58,174 Set Depth (Menu) 161 Set Depth (Option) 160,161 Set Font (Option) 164 Set Font for Aux Clocks (Option) 167 Set Local Time Zone (Option) 166 Set Regional Time Zone (Option) 167 Set Shape (Option) 48 Set Size (Option) 49 Set Time (Option) 165 Set Time-Zone Heading (Option) 167 Set Timeout (Option) 55 SET.TO.DEFAULT (Option) 170 SetMode (Option) 47 SetShade (Option) 48 SETTIME (Option) 170 Shape (Menu) 48 Shape (Option) 51 Shape to Fit (Option) 160,166 *SHORT-SITE-NAME* (Variable) 240 Show Font Directories (Option) 176 Show Info (Option) 86 Show Links (Option) 63,86 Show Links (Option) 67 Show Notefile On Cards (Parameter) 139 Show Profile (Option) 55 Show which directory group? (Menu) 177 SHOW.STYLE (Option) 169 ShowAsTile (Option) 105 Shrink (Option) 31,51 Shrink icon 31 expanding 31 moving 31 see also Icons, shrink Shrinking cards 38 Sides/Centers (Option) 99 Single-Item Snap (Menu) 100 Site Initialization File 13,235 locating 235 structure 236 Site variables 236 *LONG-SITE-NAME* 240 *SHORT-SITE-NAME* 240 DEFAULTOSTYPE 238 DEFAULTPRINTERTYPE 239 DEFAULTPRINTINGHOST 238 DIRECTORIES 237 DISPLAYFONTDIRECTORIES 237 IDLE.PROFILE 239 INTERPRESSFONTDIRECTORIES 237 LISPUSERSDIRECTORIES 236 POSTSCRIPTFONTDIRECTORIES 238 USERGREETFILES 238 \\BeginDST 240 \\EndDST 240 SIZE (File Attribute) 25 Size (Menu) 49 Sketch printing 154 Sketch (Option) 53 Sketch cards 84,85,93 parameters 142 system parameters affecting 94 Sketch, from a file (Option) 54 Sketch-based cards 72,85,100 deleting links from contents 74 Sketch-Card (Menu) 93 Slash 20 Smaller Label (Option) 97 Snap (Option) 46,54 Sort (Option) 162 Special Browser Specs (Option) 141 Special Cards (Option) 82 Special characters 20 Specializing NoteCards 43 Starting NoteCards 13,32 STOP (Option) 99 Structure Structures almost flat system 42 flat system 42 non-standard 41 standard 41 types 42 SunOS directory notations 20 files from NoteCards 19 Suspend & Exit (Option) 36,58 Swap space adding 9 ensuring adequate 9 requirement 5 Switch Black & White (Option) 102 Sysout 2 compatibility 18 location of 14 System cards 84 System parameters accessing 135 browser card 141 card 140 filebox card 141 font 137 link 142 NoteCards 136 notefile 139 sketch card 142 System status 185 T Table of Contents FileBox 83 TEdit 132 printing 154 TEdit (Option) 53 TEdit Killer Off (Option) 133 TEdit Killer On (Menu) 132 TEdit Killer On (Option) 132 Text cards 84,91 Text-based cards 72,99 deleting links from contents 73 Text-Card (Menu) 91 Texture bitmap editor 102 tilde 20 TIMES (Option) 169 Title/FileBoxes (Option) 88 TitlesFromNoteCards (Option) 110 To a file (Option) 155 To a printer (Option) 155 To Be Filed FileBox 83 Toggle Border (Option) 97 Toggle Shade (Option) 97 Trim (Option) 101 Truncate File (Option) 122 TYPE (File Attribute) 25 U UIDs 193 UnconnectNodes (Option) 115 Undelete (Menu) 152 Undelete ALL Files (Option) 153 Undo (Option) 88 Unfile from FileBoxes (Option) 88 {UNIX} naming conventions 20,22 Unlocked (Option) 57 UnnumberedBold (Option) 110 URAID 188 commands 188 entering 188 Use Deleted Link Icon Indicators (Parameter) 144 User cards 84,91 USERGREETFILES (Variable) 238 V Version numbering 21 Virtual memory errors 188 saving 15 W Which printer? (Menu) 50 Wild card characters * 107 ? 107 Window Menu (Menu) 45 Windows and the Window Title Bar 29 WRITEDATE (File Attribute) 25 X XNS 14 XNS Ethernet protocol enabling 11 Y Yes (Option) 82 \ \\BeginDST (Variable) 240 \\EndDST (Variable) 240 ~ ~ 20 ~/lisp.virtualmem (Variable) 14 * *LONG-SITE-NAME* (Variable) 240 *SHORT-SITE-NAME* (Variable) 240 . . 20 .. 20 1 12-Hour Clock/24-Hour Clock (Option) 166 4 4x4 Shade Tool 48 < <-> Sides (Option) 99 <.> Border (Option) 97 <.> Directed (Option) 98 <.> Shade (Option) 97 �����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "INDEX-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "INDEX-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE TITLEHEAD) (54 762 558 36) NIL) (HEADING NIL (HEADINGTYPE TITLEHEADRULE) (54 753 558 36) NIL) (TEXT NIL NIL (54 54 241 666) NIL) (TEXT NIL NIL (320 54 241 666) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "INDEX-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "INDEX-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 241 684) NIL) (TEXT NIL NIL (320 54 241 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "INDEX-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "INDEX-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 241 684) NIL) (TEXT NIL NIL (319 54 241 684) NIL)))))�������-���K�����������������������T�������������,����������������������������������������,���K������������������������������������-���K��������������������������T���������,�2�K�������������������������������������J����������������� PAGEHEADING� TITLEHEADRULE�������������������F������������������ PAGEHEADING� TITLEHEAD�������������������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR�������������������,��K�������������������������������������-���K��� �����������������������T���������,���K��������������������������������������������MODERN� +���������MODERN� +��������� HELVETICA���������� HELVETICA� +����������OPTIMA� +����������CLASSIC� +����������MODERN� +�������������� ����� HRULE.GETFN��MODERN� +��������������������� ���#����������������� +����� HRULE.GETFN��CLASSIC� +��������������������� +���$���������� �������������������� ����� HRULE.GETFN��CLASSIC� +���������������������������������������������� HRULE.GETFN��CLASSIC� +��������������������������������������� HRULE.GETFN��OPTIMA� +��������������������� ����������������������� �������������������� ������� ��������������������������� �������������������������������������������������������������������������� ������� ��������������������������� �������������������� ������� �������������������� +������� ��������������������������� ��������������������������� �������������������� +������� ��������������������������� ��������������������������� ��������������������������� ����������������������������������������������������������������������� ��� +������������������������ ��������������������������� ��� +������������������������ ��� +��������������������������� ������� ����������������������������������������������� ������� ��������������������������� �������������������� +������������������������������������������������������������� ��������������������������������� ��������������������������� ������� �������������������� ������������������������������������������������������ ������� �������������������������������������������� ��� ������������������������ ������������������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� ������������������������������������������������������ �������������������� ��������������������������������������������������� ��� ��������������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������������� ���������������������������.���������������������������%���������������������������������� ��������������������������� ����������������������������������������������� ���������� ��� ������������������������ ��� +������������������������ ��� ������������������������ ������������������������������ ������� ����������������������������������������������������������������������� ��� ������������������������ ��� +������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ������������������������������������� �������������������� ������� ��������������������������������������������������������������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ����������������������������������������������� ������� �������������������� ������� ��������������������������� ������������������������������������������������������ ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������������������������������� ��������������������������� ��� ���������������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ������������������������������������������������������ ��������������������������� ��������������������������� �������������������� ������������������������ ��������������������������� ��� ��������������������������� ������� �������������������� ������� ��������������������������� ��������������������������� �������������������������������������������� ��������������������������� ������������������������������ ������� ������������������������������������������������������ ����������������������������������������������� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� +������������������������ ��� +������������������������ ��������������������������� ��� ������������������������ ��������������������������� ������������������������������������� ��������������������������� ������� ����������������������������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ����������������������������������������������������������������������������������������������������������������������������� ��� ������������������������ ������������������������������������� ������������������������������������������������������������������� �������������������� ������������������������������������������������������������� ����������������������������������������������������������������������� ��������������������������� ��� +������������������������ ��� ���������������������������������� ��������������������������� ��������������������������� ��������������������"���������������������������������� ��������������������������� ��������������������������� �������������������� ������� �������������������� ������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��������������������������� ��������������������������� ���%������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��� +���������������������������������� �������������������� ������� �������������������� ������������������������ ��� +������������������������ ��� +������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ��������������������������������������������������� ��������������������������� ��� +������������������������ ��� +������������������������ ������������������������������������� ��������������������������� �������������������� ���������������������������������� ��������������������������� ��������������������������������������������������������������������������������� ��������������������������� �������������������������������������������� ��������������������������� ������������������������������������� ���������������������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� +������������������������������������������������������ +������� ����������������������������������������������������������������������� ������������������������������������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ���������������������������������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ������������������������������������������������������������������� ��������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������� �������������������� ������������������������ ������������� ��������������������������� ��� ������������������������ ��������������������������� ��� ���������������������������������� �������������������� ������������������������ ��� ������������������������ ��� +������������������������ ��� ������������������������ ������������������������������ ������� �������������������� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��� ������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��������������������������� ������������������������������ ������� ��������������������������� ��������������������������� �������������������� ��������������������������� +������� ��������������������������� �������������������������������������������� ��������������������������� ��� +������������������������ ��� ������������������������ ��� ������������������������������������������������������������������������������ ��� ������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��� ������������������������ ��������������������������� ��������������������������������������������������������� ���������������������������������� ��������������������������� �������������������� ������� ������������������������������������������������������������������� ����������������������������������������������� ��������������������������������������������������� ������������������������������ ������� ��������������������������� �������������������� ������� �������������������� ������� �������������������� +������� ��������������������������� ��������������������������������� ������� ��������������������������� �������������������� +������� �������������������� +������� ��������������������������� �������������������������������������������� ��� ������������������������ ������������������������������������������� ��������������������������������������������������� ������������������������������������� �������������������������������������������� ��������������������������� ��� ������������������������ ��� +������������������������ ��������������������������� ������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������!���������������������������������� ������������������������������������������������������ ��������������������������� �������������������� ������� ��������������������$��������������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������������������������������������������������������������� ��������������������������� ��������������������������������� +������������������������ ��� ������������������������ ��������������������������� �������������������������������������������������� ��������������������������� �������������������� ������������������������ ��� ������������������������ ������������������������������������� ��������������������������� ����������������������������������������������� +��������������������������� ������� ��������������������������� ����������������������������������������������������������������������� ��� ������������������������ ��������������������������� ��� ������������������������������������������������������!���������������������������������������������������������������������������������������������������������������������������������������"������������������������������������������������������ ������������������������ ��������������������������� ��������������������������� ������������������������������������� �������������������� ������������������������ ��� ������������������������ ��� +��������������������������� +������� ����������������������������������������������� ��������������������������� ������� �������������������������������������������� ��������������������������� ��� ������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ������������������������������ ������������������������������������������������������ ��������������������������� ������������������������ ��������������������������������������������������������������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��� +������������������������ ��������������������������� ��� ������������������������ ��������������������������� ���"������������������������ ��� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��� ������������������������ ��� ������������������������ ��������������������������� ������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ���������������������������������������� ��������������������������� ����������������������������������������������������������������������� ��� ��������������������������� ������� �������������������� ���������������������������#������������������������������������������������������������� �������������������������������������������� ��� ������������������������������������������������������������������������������������������������������������������������������������ ��������������������������� ������������������������������������� ��������������������������� �������������������� ������� ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ������������������������������������������������������������������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ������������������������������������� �������������������� ��������������������������� ������� �������������������� +������� ����������������������������������������������� ������� ��������������������������� ��������������������������� �������������������� +������� ��������������������������� ��������������������������� �������������������� +������� �������������������� ������� �������������������� +������� �������������������� +������� ��������������������������� ����������������������������������������������� ������� �������������������������������������������� ��� ������������������������ ��� +��������������������������� ������������������������ ��������������������������� ��� ������������������������ ��� +������������������������ ��������������������������� ��� �������������� ���������� ��������������������������� ��������������������������� ��������������������������� ��� +������������������������ ��� ������������������������ ��������������������������� ������������������������������ ������� ��������������������������� �������������������� +������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��� ������������������������������������������������������������������������������ ��� +������������������������ ��������������������������� ��������������������������� ������������������������������#���������������������������#������������������������ ��� ������������������������ ��� ������������������������ ��� ������������������������ ��� ��������������������������� ������������������������������������������������������������� ����������������������������������������������� ������������������������ ��� ������������������������ ��������������������������� ������������������������������������� �������������������� ������� ��������������������������� �������������������� ������� ���������������������������������������� ��������������������������� ������������������������������������������������������ ��������������������������� �������������������������������������������� ������������������������������������� ����������������������������������������������� ������� ���������������������������������������� ��������������������������� ��������������������������� �������������������� ������������������������ ������������������������������ +������������������������ ��� ��������������������������� ��������������������������������������������������� ��������������������������� ������������������������������������� ��������������������������� ��������������������������� �������������������� +������������������������ ��� ������������������������ ������������������������������ ������������������������ ��������������������������� ��������������������������� ��� +���������������������������������� ��������������������������� �������������������������������������������� ��� ������������������������������������������������������������� �������������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��� ��������������������������� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ������������������������������"���������������������������������� �������������������������������������������� ��� +������������������������������������������������������������� ���������������������������������������� ��������������������������� ��������������������������� ��������������������������������� ������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ����������������������������������������������� ���������������������������������� ��������������������������� ��������������������$������� �������������������� ������� ��������������������������� ��������������������������� �������������������������������������������� ��� ������������������������ ��� +������������������������ ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��� ���������������������������������� ��������������������������� ��������������������������� ����������������������������������������������� ������� ��������������������������� ���������������������������������������� ��������������������������� �������������������� ������� ��������������������������� ����������������������������������������������������������������������� ��������������������������� ��������������������������� ��������������������������� ������������������������������������� �������������������� ������� ������������������������������������������������������ ��������������������������� ��������������������������� �������������������� ������� ��������������������(������� ��������������������������� ��������������������������� �������������������� ������� �������������������� ������� �������������������� +������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� �������������������� +������� �������������������� +������� ��������������������������� �������������������� ������� ��������������������������� �������������������� ������� �������������������� +������� �������������������� ������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ������� �������������������� ������� �������������������� ������� ������������������������������������������������������ ��������������������������� �������������������� ������� �������������������� ������� ��������������������������� �������������������� ������������������������ ��� ������������������������ ��������������������������� ��� ������� ������������������������������������������������������ ��������������������������� �������������������������������������������� ��� +������������������������ ��� ��������������������������������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��� +������������������������������������������������������������� �������������������������������������������� ��� +���������������������������������� ���������������������������������� ���������� ��� ������������������������ ������������������������������������� ���������������������������������� +���������� ������������������������������ ������� ������������������������������������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ������������������������������������������������������������������������������������������������������������ �������������������� ��������������������������� ������������������������ ��������������������������� ��� ������������������������ ��������������������������� ��� +������������������������ ������������������������������������������������������ ��������������������������� ������������������������������������� �������������������� ������������������������ ��������������������������� ��������������������������� ��� ���������������������������������� �������������������������������������������� ��������������������������� ��� ������������������������������������������������������������������������������ ��� ������������������������ ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��������������������������� ��� ������������������������ ��� +������������������������ ��� ���������������������������������������������������������������������������������������������������������������������� ��� +���������������������������������� ��������������������������� ��������������������������� ��������������������������� �������������������� ��������������������������������������������������� ������������������������������ ������� ��������������������������������������������������������������������������������� ��������������������������� ��������������������������� �������������������� ������� ��������������������������� ������������������������������������������������������ ��������������������������� ��������������������������� ��������������������������� ���������������������������������������������������������������������������������������������� �������������������� +������� ��������������������������� ��������������������������� ��������������������������� �������������������������������������������� ������������������������������ +������� ��������������������������� �������������������������������������������� ��� +������������������������ ��� +���������������������������"��������������������������� ���������������������������������� ������������������������������������������������������������������������������������ ��������������������������� �������������������������������������������������� �������������������������������������������� ��������������������������� ������������������������������ ������� ��������������������"��������������������������� ������������������������������������������������������������������������������������������� ��� +����������������������������������������������� ��������������������������������� ������� �������������������� +������� ������������������������������������������������������������������� ���������������������������������������� ��������������������������� ����������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������� ������� �������������������� ������� ��������������������������� �������������������� ������� �������������������������T; z \ No newline at end of file diff --git a/docs/porter/demo-coversheet.tedit b/docs/porter/demo-coversheet.tedit new file mode 100644 index 0000000..c96b8e9 Binary files /dev/null and b/docs/porter/demo-coversheet.tedit differ diff --git a/docs/porter/feedback.tedit b/docs/porter/feedback.tedit new file mode 100644 index 0000000..23e6b4d Binary files /dev/null and b/docs/porter/feedback.tedit differ diff --git a/docs/porter/glossary.tedit b/docs/porter/glossary.tedit new file mode 100644 index 0000000..cecbec1 Binary files /dev/null and b/docs/porter/glossary.tedit differ diff --git a/docs/porter/note-to-old-users.tedit b/docs/porter/note-to-old-users.tedit new file mode 100644 index 0000000..e7271df Binary files /dev/null and b/docs/porter/note-to-old-users.tedit differ diff --git a/docs/porter/rs-001-TITLEPAGE.TEDIT b/docs/porter/rs-001-TITLEPAGE.TEDIT new file mode 100644 index 0000000..1f8d520 Binary files /dev/null and b/docs/porter/rs-001-TITLEPAGE.TEDIT differ diff --git a/docs/porter/rs-1-INTRODUCTION.TEDIT b/docs/porter/rs-1-INTRODUCTION.TEDIT new file mode 100644 index 0000000..d745920 Binary files /dev/null and b/docs/porter/rs-1-INTRODUCTION.TEDIT differ diff --git a/docs/porter/tour-info.tedit b/docs/porter/tour-info.tedit new file mode 100644 index 0000000..ba5b0b1 Binary files /dev/null and b/docs/porter/tour-info.tedit differ diff --git a/docs/user-guide-v1.2/from_envos/000-OUTLINE.TEDIT b/docs/user-guide-v1.2/from_envos/000-OUTLINE.TEDIT deleted file mode 100644 index bce0bb9..0000000 Binary files a/docs/user-guide-v1.2/from_envos/000-OUTLINE.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/001-TITLE-PAGE.TEDIT b/docs/user-guide-v1.2/from_envos/001-TITLE-PAGE.TEDIT deleted file mode 100644 index f44a1eb..0000000 Binary files a/docs/user-guide-v1.2/from_envos/001-TITLE-PAGE.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/002-PREFACE.TEDIT b/docs/user-guide-v1.2/from_envos/002-PREFACE.TEDIT deleted file mode 100644 index a8e8bab..0000000 --- a/docs/user-guide-v1.2/from_envos/002-PREFACE.TEDIT +++ /dev/null @@ -1,68 +0,0 @@ -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -PREFACE -1 - -PREFACE -1 - - -PREFACE -6 - -Welcome to NoteCards, an idea manipulation tool for the modern intellectual. NoteCards provides you with a new way to organize and manage your ideas on your computer desk top. -This guide explains in detail how to install NoteCards on your Sun 3 or Sun 4 workstation, provides a basic tutorial for the NoteCards environment, and contains the reference manual for NoteCards. -2 - -Audience -1 - -The Envos NoteCards Users's Guide was written for users of NoteCards on Sun workstations. The Guide assumes that you are already familiar with UNIX and SunOS concepts. -Section I of this manual, Introduction and Installation, should be read by the System Administrator or person installing the NoteCards system. The NoteCards user should also read this section, in particular, Chapters 1 and 4, Introduction and System Use Issues. The user who wishes to remain safely ignorant of system-level aspects of UNIX and NoteCards can skip over Chapters 2 and 3, System Requirements and Software Installation. (The system installer should also read Appendices C and D.) -Section II, NoteCards Tutorial, provides an introduction to NoteCards and the system which underlies it. Chapter 5, NoteCards Basics, is the place for all new users of NoteCards to start once they have their system up and running. -Section III, Reference Manual, is a compilation of all the necessary background information on NoteCards new and old users will need to learn to fully exploit the NoteCards system. -The final section contains the Appendices, Glossary, and Index for the Envos NoteCards User's Guide. -Included with the NoteCards Guide are the manuals for TEdit and Sketch, A User's Guide to TEdit and A User's Guide to Sketch. -2 - -What's in the Manual -1 - -Here is what you will find in this manual, chapter by chapter, accompanied by a brief description of when you will want to read each chapter. -Chapter 1, Introduction, gives a brief introduction to and some background on NoteCards as well as explaining the stylistic conventions used in the Guide. Read this chapter before you install NoteCards. -Chapter 2, System Requirements, goes over the hardware requirements of the system. Read this chapter before you install NoteCards on a particular machine to verify that it will run acceptably on that machine. -Chapter 3, Software Installation, gives you step by step directions for installing NoteCards. Read this chapter before and during system installation. -Chapter 4, System Use Issues, discusses some of the basic ins and outs of using the system, Initialization, Starting, and Exiting NoteCards, as well as file access. Read this chapter after you have installed NoteCards. In particular, read the sections "Starting NoteCards" and "Exiting NoteCards and Saving State" when you are modifying your .cshrc and .login UNIX files for ideas on how to simplify the NoteCards booting process. In order to allow it to run on two different file systems NoteCards differs slightly from the standard SunOS and UNIX file systems. Read the section "Using SunOS Files from NoteCards" when you are learning how to access files from NoteCards. -Chapter 5, NoteCards Basics, takes you by the hand and leads you step by step through the basics of using the NoteCards system. This is the place for new users to start once you have NoteCards up and running. Once you get going, this is also a good chapter to review as it brings together ideas scattered through the users's guides whose importance many not be obvious from their context in the user's guides. -Chapter 6, Building NoteCards Structures, tries to give you some insights on how to use the NoteCards sytems to its best advantage. NoteCards has been around as a PARC research prototype for several years. In this chapter we try to present some of what they have learned about using this system. Read this chapter after you have become somewhat familiar with NoteCards. -Chapter 7, The User Interface, covers some of the more basic aspects of using the system, the mouse, the keyboard, menus, etc. Read this chapter to understand more of the lower level capabilities of the system. -Chapter 8, Links, describes the link icon in all of its manifestations. Links and their physical representation, link icons, live at the core of NoteCards. Read and understand this chapter as soon as possible to make the most effective use of the system. -Chapter 9, Cards and Banners, discusses the user interface to individual notefiles and those aspects that all cards have in common. This is also an important chapter. The section "The Card Menu" is particularly important as it explains the functionality all cards have in common. -Chapter 10, User Cards, discusses cards where you are responsible for creating the contents. Read the sections "Text Cards" and "FileBox Cards" right away. The "Text Cards" section points you to the TEdit manual A User's Guide to TEdit. As TEdit forms the core of the system. We suggest that you make an effort to gradually learn more about TEdit all the time. Read the remaining sections as you explore the other card types. Note that the Bit Map Editor is discussed at the end of this chapter even though there is no bit-map card type -Chapter 11, System Cards, covers those cards where the system creates the contents for you. The section "Browser Cards" is the most important one to read for a beginner. The others can be read as you need them. -Chapter 12, The MenuBox Icon, discusses the functionality on the three menus available from the MenuBox. The important commands for a new users are on the "Notefile Ops" menu. When just getting used to NoteCards, focus on the commands: Open, Checkpoint, Close, and Abort. -Chapter 13, System Parameters, explains how to change the global defaults for the system. New users can safely ingore this chapter. Most users will find that the default settings will suit all their needs. -Chapter 14, The FileBrower, explains how to use the FileBrowser. -Chapter 15, Other Tools, explains how to use the Directory Connector, and the clocks. -Chapter 16, Printing, covers setting up print capabilities and printing to PostScript and Interpress printers. Read this chapter when you have the machine on a network and are ready to set up your print capability. -Chapter 17, Known Problems, Error Conditions and Recovery, covers those problems we know about as of this writing and how to cope with and avoid them. A quick reading of the sections "Known Problems" and "Break Windows" are all that most users will ever need. -Appendix A, Notefile Concepts, explains the inner workings and structure of notefiles. Read this if you want to understand how information is stored in the notefile and why you have to perform operations like compacting occasionally. This is essential background material if you are about to inspect or fix a damaged notefile. -Appendix B, Notefile Inspector, explains how to fix notefiles damaged by power failured, broken net connections and other unforeseeable calamities. Read this before you attempt to fix a damaged notefile. -Appendix C, Initialization Files, collects a lot of information on how to write a file which will automatically set site specific values for parameters like printer names and font locations. Read this appendix when you are first setting up your system. -Appendix D, Checksum Control, covers what to do if you believe the files loaded from the distribution tape are damaged. -2 - -Acknowledgements -1 - -NoteCards has a long history. Its gestation began in October 1982 when the U.S. Government funded XSIS (Xerox Special Information Systems) and Xerox PARC (Palo Alto Research Center) to prototype a Problem-Structuring-Aids system to allow users to build "semantic networks of textual information." The first successful prototype was completed by Frank Halasz, at PARC, in November 1983. The first real user of the NoteCards system was Ken Allen, a history graduate student at Stanford University, in the spring of 1984. The birth came in June 1984 when NoteCards was released to the government, in fulfillment of the Problem-Structuring-Aids contract. Since then, XSIS and PARC have released three unsupported versions of NoteCards on Xerox D-machines. In November 1988, the Envos NoteCards product team started work on a supported, productized version of NoteCards. Envos NoteCards Release 1.1 for the Sun Workstation was completed in April 1989. -NoteCards is based on the work of many people. -From Xerox, Frank Halasz, Tomas Moran, Randall Trigg, Richard Burton, Ronald Kaplan, Peggy Irish, Catherine Marshall, and many others. -From Envos, Robert Krivacic, Keith Mountford, Craig Sweat, Karin Sye, Daniel Sagalowicz, Larry Harada, John Sybalsky, and others. - -[This page intentionally left blank] -�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "") STARTINGPAGE# 3) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))������ �-�����2�����������������������T���������-�����������������������������T���������-����������������������������T���������-��������������������T�������������,�����������������������������������-���������������������������T���������-���������������������������T���������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR�������������������,������������������������������������������������MODERN� ���������MODERN� ���������MODERN����������MODERN����������MODERN� �������������� ����� HRULE.GETFN��MODERN� ��������������������� ���3���������� ����� HRULE.GETFN��MODERN� ��������������������� ���3���������� ������������� ����� HRULE.GETFN��MODERN� ��������������������������������������� HRULE.GETFN��MODERN� ��������������������������������������� HRULE.GETFN��MODERN���������������������������������������������������� HRULE.GETFN��MODERN������������������������ ��������������� HRULE.GETFN��MODERN��������������������������������������>��������������G���������������������������������������������������G���������������������������H������������������������������������������� HRULE.GETFN��MODERN��������������������������������������� HRULE.GETFN��MODERN���������������������������������������������������3��������������������������������������������������������������u���������������������������������������������������������������2����������������������������������������������� �������������������������������������������������������������A�������������V�������������������������������������I���������������������������������������z��������������� HRULE.GETFN��MODERN��������������������������������������� HRULE.GETFN��MODERN������������������������������������/������������������������������������ ����������������%������������������"�z \ No newline at end of file diff --git a/docs/user-guide-v1.2/from_envos/003-TOC.TEDIT b/docs/user-guide-v1.2/from_envos/003-TOC.TEDIT deleted file mode 100644 index 90f5086..0000000 --- a/docs/user-guide-v1.2/from_envos/003-TOC.TEDIT +++ /dev/null @@ -1,437 +0,0 @@ -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -TABLE OF CONTENTS -1 - -TABLE OF CONTENTS -1 - - -TABLE of CONTENTS -6 - -1 - -Preface iii -I Introduction and Installation -1. Introduction 1-1 -NoteCards 1-1 -System Overview 1-1 -Useful SunOS and UNIX Conventions 1-2 -NoteCards Device Conventions 1-2 -Stylistic Conventions 1-2 - Prompts 1-2 - Font Usage 1-3 - Keyboard Conventions 1-3 -2. System Requirements 2-1 -Prerequisites 2-1 - Processor Hardware 2-1 - Memory 2-1 - Swap Space 2-1 - Disk Space 2-1 - Input/Output Devices 2-1 - Bitmap Display 2-2 - Printers 2-2 - Tape Access 2-2 - Operating System Requirements 2-2 -Constraints 2-2 - Resource Constraints 2-2 - Shared Sun Workstations 2-2 -Release Contents 2-3 - Documentation 2-3 - Software 2-3 -3. Software Installation 3-1 -Insuring Adequate Swap Space 3-1 -Installing Software 3-1 -Copy Protection 3-3 -Configuring the Software 3-3 - Relinking 3-4 - Enabling PUP/XNS Ethernet 3-4 - Using/Installing the Host Access Key 3-4 -4. System Use Issues 4-1 -Site Initialization File 4-1 -Starting NoteCards 4-1 -Exiting NoteCards and Saving State 4-2 -Keyboard Interpretation 4-4 - Sun Type 2 Keyboard 4-4 - Sun Type 3 Keyboard 4-5 - Sun Type 4 Keyboard 4-6 -Consol Messages 4-6 -File Compatibility 4-7 - Sysout Compatibility between Sun and Xerox Workstations 4-7 - File Compatibility between Sun and Xerox Workstations 4-7 - Notefile Compatibility with Prerelease Versions of NoteCards 4-8 -Using SunOS Files from NoteCards 4-8 - File Naming Conventions 4-9 - Common {DSK} and {UNIX} Naming Conventions 4-9 - {DSK} Naming Conventions 4-10 - Version Numbering 4-10 - Pathnames 4-12 - {UNIX} Naming Conventions 4-12 - Directories 4-13 - Directory Enumeration 4-13 - Directory Creation 4-13 - Open File Limit 4-14 - Default Pathname 4-14 -File Attributes 4-14 -File System Errors 4-15 -II NoteCards Tutorial -5. NoteCards Basics 5-1 -A Few Pointers on Mouse Etiquette 5-1 - Mouse Button Use 5-2 - Left Mouse Button 5-2 - Middle Mouse Button 5-2 - Right Mouse Button 5-2 - Regions Sensitive to Mouse Activity 5-2 - The Background 5-2 - Windows and the Window Title Bar 5-3 - Icons 5-5 - Scroll Bars 5-5 -Dealing with Simple Error Conditions 5-6 -Starting NoteCards 5-7 -Closing Notefiles and Exiting NoteCards 5-8 - Closing Notefiles 5-8 - Close 5-9 - Abort 5-9 -6. Building NoteCards Structures and Modes of Use 6-1 -Introduction 6-1 -A Standard View of Building NoteCards Structures 6-1 -A Non-Standard View of Building NoteCards Structures 6-1 - FileBoxes and Hierarchies 6-1 - The Flat System 6-2 - The Almost Flat System 6-2 - Link Types 6-2 - Multiple Users 6-2 - Cards and Information Chunk Size 6-2 -Types of Structures People Have Built with Notecards 6-3 -Specalizing NoteCard 6-3 -III Reference Manual -7. The User Interface 7-1 -8. Links 8-1 -Links and Link Types 8-1 - System-Reserved Link Types 8-1 - User-Specified Link Types 8-2 - Link Directions and Link Ends 8-3 - Link Categories 8-3 - Other Link Terminology 8-3 - Link Types vs. Card Types 8-3 -Link Access and Use 8-4 - Link Icon Functionality 8-4 - Active Regions of Link Icons 8-4 - Mouse-Button Actions in Link Icons 8-5 - Viewing Local and Global Links 8-7 - Unfiled and Lost Cards 8-8 -Creating Links 8-9 - Creating Links in Text Cards 8-9 - Insert Link 8-9 - Insert Links 8-12 - Add Global Link 8-13 - Add Global Links 8-13 - Creating Links in Other Card Types 8-13 - Text-Based Cards 8-13 - Sketch-Based Cards 8-13 - Graph-Based Cards 8-14 -Deleting Links 8-14 - Deleting Links from Card Contents 8-15 - Text-Based Cards 8-15 - Sketch-Based Cards 8-15 - Graph-Based Cards 8-15 - Deleting Links from the Show Links Display 8-16 -Tailoring Links 8-16 - Link Ops Menu 8-16 - Bring Up Card/Box 8-16 - Change Link Type 8-16 - Change Card Title 8-16 - Change Display Mode 8-16 - System Parameters for Links 8-18 -Cross-File Links 8-18 - Appearance 8-18 - Missing Notefiles 8-19 -9. Cards and Banners 9-1 -The Notefile Banner 9-1 -The Banner Title Bar 9-1 - Notefile Ops Menus 9-1 - Middle-Mouse-Button Title-Bar Menu 9-3 - Full File Name 9-3 - File Capacity 9-3 -Special Cards 9-4 - Table of Contents FileBox 9-5 - To Be Filed FileBox 9-5 - Orphans FileBox 9-6 -New Cards 9-6 -User Cards and System Cards 9-7 -Text-, Sketch-, and Graph-Based Cards 9-8 -The Card Menu 9-8 - The Standard Card Menu 9-8 - Edit Property List 9-8 - Show Links 9-9 - Show Info 9-10 - Designate FileBoxes 9-11 - Assign Title 9-11 - Title/FileBoxes 9-12 - Insert Link 9-12 - Close and Save 9-13 - The FileBox Card Menu 9-13 - Add Global Link 9-13 - Put Cards Here 9-14 -10. User Cards 10-1 -Text Cards 10-1 - The Text-Card Menu 10-1 -FileBox Cards 10-2 - Suggested FileBoxes and Note Cards 10-3 - Bibliography 10-3 - Index 10-3 - Read Me 10-3 - Active Cards 10-3 - The FileBox-Card Menu 10-3 - System Parameters Affecting FileBoxes 10-3 -Sketch Cards 10-3 - The Sketch-Card Menu 10-3 - The Map Option 10-4 - System Parameters Affecting Sketch Cards 10-4 -Graph Cards 10-4 - The Graph-Card Menu 10-5 - The Grapher Menu 10-5 - The Graph-Card and Grapher Menu Options 10-6 - Move Node Move Node 10-6 - Remove Node Delete Node 10-7 - Connect Nodes Add Link 10-7 - Disconnect Nodes Delete Link 10-7 - Add Label Add Node 10-8 - Change Label Change Label 10-8 - Smaller Label Label Smaller 10-8 - Larger Label Label Larger 10-8 - Toggle Shade <-> Shade 10-8 - Toggle Border <-> Border 10-8 - Directed/Undirected <-> Directed 10-8 - Sides/Centers <-> Sides 10-9 - Fix Menu 10-10 - Stop 10-10 -Bit Map Editor 10-10 - Inserting Bit Maps into Cards 10-10 - Text-Based Cards 10-10 - Sketch-Based Cards 10-11 - Bit Map Operations 10-11 - Change Scale 10-11 - Hand Edit 10-12 - Trim 10-12 - Reflect Left-to-right 10-12 - Reflect Top-to-Bottom 10-12 - Reflect Diagonally 10-12 - Rotate Left 10-12 - Rotate Right 10-12 - Expand on Right 10-12 - Expand on Left 10-13 - Expand on Bottom 10-13 - Expand on Top 10-13 - Switch Black & White 10-13 - Add Border 10-13 - The Bit Map Editor 10-14 - Paint 10-16 - ShowAsTile 10-16 - Grid On/Off 10-16 - GridSize 10-16 - Reset 10-17 - Clear 10-17 - Cursor 10-17 - OK 10-17 - Abort 10-18 -11. System Cards 11-1 -Search Cards 11-1 -Link Index Cards 11-2 -Document Cards 11-3 - HeadingsFromFileBoxes 11-3 - TitlesFromNoteCards 11-4 - BuildBackLinks 11-4 - CopyEmbeddedLinks 11-4 - ExpandEmbeddedLinks 11-4 -Browser Cards 11-5 - Changes to the NoteCards Browser 11-6 - Multiple Roots 11-7 - Dashed Links 11-7 - Arrowheads 11-7 - Browser Specs 11-7 - New Middle-Button Title-Bar Menu Options 11-9 - Editing the Browser Manually and Structure Editing 11-9 - Overview Windows on Browser Cards 11-12 - Creating an Overview Window 11-12 - Reshaping the Overview Window 11-13 - Scrolling and the Wire Frame 11-13 - Recomputing the Overview Contents 11-13 - The Browser Overview Stylesheet 11-13 - Tidbits 11-14 -12. The MenuBox Icon 12-1 -Notefile Options 12-1 - Open 12-2 - Compact 12-3 - Inspect & Repair 12-4 - Copy 12-4 - Rename 12-4 - Delete 12-4 - Create 12-4 - Checkpoint 12-5 - Close 12-6 - Abort 12-6 - NC FileBrowser 12-6 -Card Options 12-6 - Close 12-7 - Delete 12-8 - Copy 12-8 - Move 12-8 -Other Options 12-9 - Edit Parameters 12-9 - NF Indicators On 12-9 - TEdit Killer On 12-9 -13. System Parameters 13-1 -Accessing System Parameters 13-1 -NoteCards System Parameters 13-3 - Extra TEdit Props 13-3 - Include Card Object In ShowInfo 13-3 - Del TEdit Process When Shrinking 13-3 -Font Parameters 13-4 - Menu Font 13-4 - Default Font 13-4 - Link Icon Font 13-4 -Notefile Parameters 13-5 - Show Notefile On Cards 13-5 - New Notefile Initial Size 13-6 - Menu Lingers After Notefile Close 13-6 -Card Parameters 13-6 - Force Filing 13-6 - Force Titles 13-6 - Default Card Type 13-6 - Close Cards Off Screen 13-7 - Bring Up cards At Previous Pos 13-7 -FileBox Card Parameters 13-7 - Markers In FileBoxes 13-7 - Alphabetize FileBox Children 13-7 -Browser Card Parameters 13-7 - Special Browser Specs 13-7 - Arrow Heads In Browsers 13-8 - Link Dashing In Browsers 13-8 -Sketch Card Parameters 13-8 - Attach Sketch Menu 13-8 -Link Parameters 13-8 - Link Icon Border Width 13-8 - Link Icon Multi Line Mode 13-9 - Cross File Link Mode 13-9 - Link Icon Max Width in Pixels 13-9 - Link Icon Show Title Default 13-9 - Link Icon Attach Bitmap Default 13-10 - Link Icon Show Link Type Default 13-10 - Use Deleted Link Icon Indicators 13-10 -14. The FileBrowser 14-1 -User Interface 14-1 - Starting FileBrowser 14-1 - Specifying What Files to Browse 14-1 - Examples 14-2 - Using the FileBrowser Window 14-3 - Selecting Files 14-5 - Commands the Require Input 14-5 - Aborting Commands 14-6 - Quitting the FileBrowser 14-6 - Copy-Selecting Files 14-7 - Getting Hardcopy Directory Listings 14-7 -FileBrowser Commands 14-8 - Delete, Undelete 14-8 - Copy 14-9 - Rename 14-11 - Hardcopy 14-12 - See 14-13 - FileBrowse 14-15 - Edit 14-15 - Load 14-16 - Compile 14-16 - Expunge 14-16 - Recompute 14-16 - New Info 14-17 - Set Depth 14-19 - Sort 14-19 -Troubleshooting Problems with FileBrowser 14-20 -15. Other Tools 15-1 -Digital Clock 15-1 - Introduction 15-1 - Starting the Digital Clock 15-1 - Stopping the Digital Clock 15-2 - Changing the Digital Clock 15-2 - Set Font 15-3 - Set Time 15-4 - Set Alarm 15-4 - Quiet Alarm/Loud Alarm 15-5 - Delete Alarm Setting 15-5 - Shape to Fit 15-5 - 12-Hour/24-Hour Clock 15-5 - Set Local Time Zone 15-5 - Add New Regional Time Zone 15-5 - Delete This Window 15-6 - Set Font for Aux Clocks 15-6 - Set Aux Clock Font In Just This Window 15-6 - Set Time-Zone Heading 15-6 - Set Regional Time Zone 15-7 -Analog Clock 15-7 - Introduction 15-7 - Starting the Analog Clock 15-7 - Stopping the Analog Clock 15-8 - Changing the Analog Clock 15-8 - Numbers 15-9 - Points 15-9 - No Numbers 15-9 - Rings 15-9 - No Rings 15-9 - Hands 15-9 - No Hands 15-9 - Times 15-9 - No Times 15-9 - Show Style 15-9 - Set to Default 15-9 - Change Default 15-10 - Set Time 15-10 - Known Problems 15-10 -Directory Connector 15-10 - Starting the Directory Connector 15-10 - Stopping the Directory Connector 15-10 - Changing the Directory Connector Fonts 15-10 - Using the Directory Connector 15-11 - Left Mouse Button 15-11 - Middle Mouse Button 15-12 -16. Printing 16-1 -17. Error Recovery and Known Problems 17-1 -System Status, Aborting Operations, and Spawning a New Mouse 17-1 - System Status 17-1 - Aborting Operations 17-1 - Spawning a New Mouse 17-3 -Break Windows 17-3 - Errors While Running NoteCards 17-4 - I/O Errors 17-4 - Virtual Memory Errors 17-5 -URAID 17-5 -Entering URAID 17-5 - URAID Commands 17-5 -Other Fatal Error Conditions 17-6 -System Error Conditions 17-6 -Known Problems 17-7 - Printing Browsers 17-7 - Notefile Indicator Window 17-8 - PostScript Fonts 17-8 -Appendices, Glossary, and Index -Appendix A. Notefile Concepts A-1 -Appendix B. Notefile Inspector B-1 -Appendix C. Installation Files C-1 -Appendix D. Checksum Control D-1 -Glossary GLOSSARY-1 -Index INDEX-1 -[This page intentionally left blank]�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "") STARTINGPAGE# 7) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (LOWERROMAN "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))�������,�����"���������������������������������>�T�T��������T��l���������������������������������;�T�T��������T��l��������������������������������2����� �����������������������������������2����������������������������������������2�����"�����������������������������������2����� �����������������������������������-���������������������T�������������5�����������������������������������������5����������������������������������������5�����������������������������������������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR��������������������������MODERN� ���������MODERN� ���������MODERN���������MODERN� ����������MODERN����������MODERN����������MODERN� ������������������� HRULE.GETFN��MODERN� ������������������������3��������������� HRULE.GETFN��MODERN� ������������������������3���������� -������������� -����� HRULE.GETFN��MODERN� ��������������������� ������������� ����� HRULE.GETFN��MODERN� ��������������������� ������������� ����� HRULE.GETFN��MODERN��������������������� ����� HRULE.GETFN��MODERN� �������������������������������������������� �����������������������������������������������������������&�������������!��������������������������������� ����������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������� -����������������������������������������"���������������������������������������������������������������������������������������������������������� -���������������������������������!���������������������������������������������������������������������������������������������������)�����������������������������������������������������������'�����������������������������������������������������������������������������������������������������������������������<��������������������:��������������������A�������������%����������������������������������������/������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������&����������������������������������������������������������������������������������������������������(����������������������������������������%�������������������� ���������������������������������)��������������������������,���������������������������������������� �������������������� �������������2���������������������������������5�������������9������������������������������������������������������������������������������������������������������������������������%�������������9������������������������������������������������������������������ ��������������������������������������������������������������������������������"�����������������������������������������������������������������������������������������������������������������!��������������������'��������������������#�����������������������������������������������������!����������������������������������������������������������������������������������������������������(���������������������������������������������������������������������������������������������'��������������������������������������������������������������������������������0�������������������������������������������������������������������������������������������������������������������������������������!�������������������������������������������������������������������������������������������������������������������������������������������'������������������������������������������������������������������������������������������������������������������������������������������� �������������*����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(���������������������������������������� �������������������� -������������������������������������������������������������+�������������������������������������������������������������������������.�������������������������������������������������������������������������-��������������������������������������������������������������������������������"������������������������������������������������������������!��������������������������������������������������������������������������������&������������������������������������������������������������ ���������������������������������$������������������������������������������������������������������������������������������������������������������������ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������� �������������������� �������������������� -�������������������� �������������������� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������&����������������������������������������������������������������������������������������������������.��������������������8��������������������(��������������������"��������������������$��������������������#��������������������(��������������������&������������������������������������������������������������������������� �������������������� -���������������������������������������� �������������������� �������������������� �������������������� ���������������������������������������� �������������������� ����������������������������������������������������� �������������������� �������������������� �������������������� ����������������������������������������������������������������������������������������������������������!�������������!����������������������������������������%��������������������&��������������������������������������������������������������������������������������������������������������������������������������������������'�����������������������������������������������������������������������������������������������������������������$�����������������������������������������������������"��������������������������������������������������������������������������������������������������������������������������������������������������������������� ����������������������������������������$��������������������"��������������������&��������������������'��������������������'�������������������������������������������������������������������������%����������������������������������������"���������������������������������������� ��������������������������������������������������������������������������������)����������������������������������������������������� �������������������� -���������������������������������������� ���������������������������������������� �������������������� ������������������������������������������������������������������������������������������������������������������������ �������������0������������������������������������������������������������������������� �������������������� �������������������� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ������������������������������������������������������������,��������������������������������������������������������������������������������������������������������������������������������������������������������� -�������������������� ���������������������������������������� ���������������������������������������� ���������������������������������������� ���������������������������������������������������������������������������������������������������������������������������������������������������������'��������������������'��������������������-��������������������$����������������������������������������������������� -��������������������&��������������������B���������������������������������������������������������������������������������������������$����������������������������������������������������� ����������������������������������������������"������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������� �������������$������*z \ No newline at end of file diff --git a/docs/user-guide-v1.2/from_envos/01-INTRODUCTION.TEDIT b/docs/user-guide-v1.2/from_envos/01-INTRODUCTION.TEDIT deleted file mode 100644 index ef8e110..0000000 Binary files a/docs/user-guide-v1.2/from_envos/01-INTRODUCTION.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/02-SYSTEM-REQUIREMENTS.TEDIT b/docs/user-guide-v1.2/from_envos/02-SYSTEM-REQUIREMENTS.TEDIT deleted file mode 100644 index 508ac25..0000000 Binary files a/docs/user-guide-v1.2/from_envos/02-SYSTEM-REQUIREMENTS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/03-SOFTWARE-INSTALLATION.TEDIT b/docs/user-guide-v1.2/from_envos/03-SOFTWARE-INSTALLATION.TEDIT deleted file mode 100644 index d4f4d6b..0000000 Binary files a/docs/user-guide-v1.2/from_envos/03-SOFTWARE-INSTALLATION.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/04-SYSTEM-USE-ISSUES.TEDIT b/docs/user-guide-v1.2/from_envos/04-SYSTEM-USE-ISSUES.TEDIT deleted file mode 100644 index 6d23377..0000000 --- a/docs/user-guide-v1.2/from_envos/04-SYSTEM-USE-ISSUES.TEDIT +++ /dev/null @@ -1,1049 +0,0 @@ -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMNTATION -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -4. SYSTEM USE ISSUES -1 - -4. SYSTEM USE ISSUES -1 - - -4. SYSTEM USE ISSUES -6 - -This chapter provides basic system information to get you started in NoteCards on your Sun Workstatio after your system administrator has installed NoteCards 1.1. -2 - -Site Initialization File -1 - -When NoteCards starts, it reads in the NoteCards site initialization file, init.NoteCards. This file sets the pointer to fonts, site le>) -1 - -These functions retrieve the three predefined FileBoxes for the currently open NoteFile. These boxes can be modified (but not deleted) by the user in the same way as any other filebox. - 5. Creating and Accessing Links -1 - -Links consist of source card, destination card, link type, display mode and anchoring mode. The new function NCP.CreateLink can be used to create any sort of link. We still provide the four functions NCP.GlobalGlobalLink, NCP.LocalGlobalLink, etc. for those who have grown used to that style. -(NCP.GetLinks <cards> <destinationCards> <labels> <NoteFile>) -1 - -See documentation in the previous section. -(NCP.CreateLink <source> <destination> <linkType> <displayMode) -1 - -<source> can be either a card or a list of two elements (<sourceCard> <sourceLoc>). <sourceCard> should be a card to use as the source of the link while <sourceLoc> should be either the atom GLOBAL (in which case a global-to-global link is created) or a Loc directive as described in NCP.CardAddText above, that is, an integer or one of the atoms START, END or NIL. This creates and returns a new link with type <linkType>, connecting <sourceCard> to <destinationCard>. For text cards, Loc, if present, designates where to insert the link. If the link is local-to-global, then <displayMode> should be a valid displaymode or NIL. (See description of NCP.LinkDisplayMode for the valid values for <displayMode>.) (In the future, Locs for non-text cards will be specifiable. In the far future, we hope to allow local anchoring at the destination end of the link as well as the source.) -(NCP.GlobalGlobalLink <label> <sourceCard> <destinationCard>) -1 - -Creates and returns a new link with label <label>, connecting <sourceCard> to <destinationCard>. -(NCP.LocalGlobalLink <label> <sourceCard> <destinationCard> <fromloc> <displaymode>) -1 - -Creates and returns a new link with label <label>, connecting from <fromloc> of <sourceCard> card to <destinationCard>. If <displaymode> is non-nil, then the new link is displayed in the given mode. Otherwise the default displaymode for the source card's type is used. See the description of NCP.LinkDisplayMode for the valid entries for the <displaymode> arg. -(NCP.GlobalLocalLink <label> <sourceCard> <destinationCard> <toloc>) -1 - -Not implemented at this time. -(NCP.LocalLocalLink <label> <sourceCard> <destinationCard> <fromloc> <toloc>) -1 - -Not implemented at this time. -(NCP.LinkDesc <link> <followCrossFileLinkFlg) -1 - -Returns list of three items (<label> <sourceDesc> <destinationDesc>) where <label> is the link type and <sourceDesc> and <destinationDesc> have the form (<anchor mode> <card> <loc>). <anchor mode> is either LOCAL or GLOBAL, <card> is the card at this end of the link, and <loc> gives a position in the text of <card> if <anchor type> is LOCAL and <card>'s substance's type is TEXT. If the link is a cross-file link and if <followCrossFileLinkFlg> is non-nil, then the link will be traversed, opening the remote notefile if necessary to determine information about the source or destination card of the link. -(NCP.LinkDisplayMode <link> [<newdisplaymode>]) -1 - -Returns old display mode of <link>. If <newdisplaymode> is present, then set <link>'s displaymode accordingly. If non-nil, it can be an instance of the LINKDISPLAYMODE record. Or it can be one of the litatoms Icon, Title, Label, or Both. Finally, it can be a list of three elements (<ShowTitleFlg> <ShowLinkTypeFlg> <AttachBitmapFlg>). Each element can have one of the three values T, NIL, or FLOAT. If a field, say <ShowTitleFlg>, has value FLOAT then the corresponding global parameter (DefaultLinkIconShowTitle, in this case) will be consulted to decide whether or not to display the destination card's title in this icon. (See Section 7 for a description of the global parameters.) -(NCP.CoerceToLinkDisplayMode <thing>) -1 - -Returns a LINKDISPLAYMODE record. Thing can be a LINKDISPLAYMODE record, cardtype, card, link, atom, or list. If thing is a LINKDISPLAYMODE record, that record is returned. If thing is a cardtype, the default LinkDisplayMode for that cardtype is returned. If thing is a card, the LinkDisplayMode of that card is returned. If thing is a link, the LinkDisplayMode of that link is returned. If thing is an atom or a list, then the corresponding LinkDisplayMode, as specified under NCP.LinkDisplayMode (see above), is returned. -(NCP.LinkType<link> [<newLinkType>]) -1 - -Returns old linktype of <link>. If <newLinkType> is present, set <link>'s type to <newLinkType>. -(NCP.LinkSource <link>) -1 - -Returns the card at the source end of <link>. -(NCP.LinkDestination <link>) -1 - -Returns the card at the destination end of <link>. -(NCP.DeleteLinks <links>) -1 - -Removes all links in <links> (or just one if <links> is a single link object). -(NCP.ValidLinkP <link>) -1 - -Returns non-nil if <link> is a link in the current notefile. -(NCP.SameLinkP <link1> <link2>) -1 - -Returns non-nil if <link1> is the same link as <link2>. Error if either arg is not a valid link. -(NCP.AllLinks <NoteFile>) -1 - -Returns a list of all existing links in <NoteFile>. (This is equivalent to but faster than (NCP.GetLinks NIL NIL NIL <NoteFile>).) -(NCP.MapLinks <NoteFile> <fn> <collectResultsPredicate>) -1 - -Maps down the set of all links in the given notefile, applying <fn> to each. If <collectResultsPredicate> is non-nil, then for those links satisfying the predicate, the values of <fn> applied to them are collected. -(NCP.MapLinksOfType <types> <NoteFile> <fn> <collectResultsPredicate>) -1 - -This is similar to NCP.MapLinks, but only looks at links whose type appears on <types>. <types> can be a single type or a list of types. -6. Creating and Accessing Link Labels -1 - -The following functions allow the user to manipulate link labels. -(NCP.CreateLinkType <linkType> <NoteFile> <QuietFlg>) -1 - -Creates a new link type with name <LinkType> in <NoteFile> unless there is already one defined by that name. A non-NIL <QuietFlg > suppresses the error message that is normally printed if the link type has already been defined for this notefile. -(NCP.DeleteLinkType <linkType> <NoteFile>) -1 - -Deletes the link type <linkType> from <NoteFile>. The link type must exist and must not be the type of any existing link, and it must not be a system-defined link type (e.g. SubBox or BrowserContents). -(NCP.RenameLinkType <linkType> <newLinkType> <NoteFile>) -1 - -Changes any links in <NoteFile> having link type <linkType> to have type <newLinkType>. <linkType> must exist and neither <linkType> nor <newLinkType> should be a system-defined type. -(NCP.LinkTypes <NoteFile>) -1 - -Returns a list of all existing link types in <NoteFile> including system-defined ones. -(NCP.ReverseLinkTypes <NoteFile>) -1 - -Returns a list of the reverse link types for every link type in <NoteFile>. Thus, whereas SubBox would appear in the list returned by NCP.LinkTypes, _SubBox (<backarrow>SubBox) would appear in the list returned by NCP.ReverseLinkTypes. -(NCP.UserLinkTypes <NoteFile>) -1 - -Returns a list of all existing user-defined link labels in <NoteFile>. -(NCP.SystemLinkTypeP <LinkType>) -1 - -Returns non-nil if <LinkType> is a system link type.. -(NCP.ValidLinkTypeP <LinkType> <NoteFile>) -1 - -Returns non-nil if <LinkType> is a defined link type for <NoteFile>. -7. Customizing the NoteCards Interface -1 - -There are currently several areas where the user may tailor the NoteCards user interface: the NoteCards Session Icon menus, the left button menu on the title bar of a notefile's menu icon, the middle button menu of a notefile's menu icon, the ShowCards middle button menu on a notefile's menu icon, and the title bar menus of displayed cards and card types key.�� -� The BACK SPACE key is DELETE WORD. - �� �T�h�e� �DELETE�� �k�e�y� �i�s� �BACK SPACE.�� -� �� �T�h�e� �R�I�G�H�T� �k�e�y� �i�s� �E�X�P�A�N�D�. �� � -Sun Type 3 Keyboard -1 - -Figures 4-1 through 4-3 show NoteCards's key assignments for the Sun Type 3 keypads. -((SKETCH "figure from {ERIS}<DOC>MAIKO>BETA2>KEYBOARDS.TEDIT;4" VERSION 3 PRIRANGE (95 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.04 20.0 (PRI 6)) (TEXTBOX (0 40 40 40) ("Find") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((8.5 53.5 23 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 7)) (TEXTBOX (40 40 40 40) ("Delete") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((41.0 53.5 38 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 24)) (TEXTBOX (0 80 40 40) ("Open") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((5.0 93.5 30 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 25)) (TEXTBOX (40 80 40 40) ("Copy") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((46. 93.5 28 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 42)) (TEXTBOX (0 120 40 40) ("Same") 1.0 (ttott/7tow+4<@uo+4<@u/+@wj/ t}C}ttott/7tow+ts the session icon window. -(NCP.BringUpSessionIcon <IconPosition>) -1 - -Brings up the NoteCards icon at IconPosition. If no IconPosition is given and the icon is already on the screen, it will be flashed. If it is not on the screen, the user will be prompted to place it. -The left button menu on the title bar of a notefile's menu icons: The user may modify this menu using the following functions. -(NCP.AddNoteFileIconMenuItem <Item> <OpenOrClosedOrBoth> ) -1 - -Adds the menu item <Item> to the NoteFile icon menu. <Item> should be a complete menu item and may contain subitems.. The second part of the menu item (and of any subitems) should be a function of two arguments: NoteFile and Window. Window will be the icon window for the notefile. This function will be applied to these arguments when this menu item is selected. <OpenOrClosedOrBoth> specifies for which type of notefile the new operation will be valid. If <OpenOrClosedOrBoth> is 'Open, the item will appear as an operation for open notefiles. If <OpenOrClosedOrBoth> is 'Closed, the item will appear as an operation for closed notefiles. If <OpenOrClosedOrBoth> is 'Both, the item will be available for both open and closed notefiles. -Returns the full item added if successful, NIL otherwise. -Example: -(NCP.AddNoteFileIconMenuItem '(Foo% Function NC.DoFoo "Performs the function Foo on this notefile") 'Open) -(NCP.RemoveNoteFileIconMenuItem <ItemName> ) -1 - -Removes the menu item named <ItemName> from the NoteFile icon menu. -Returns the full item removed if successful, NIL otherwise. -Example: -(NCP.RemoveNoteFileIconMenuItem 'Foo% Function ) -(NCP.RestoreNoteFileIconMenu ) -1 - -Restores the NoteFile Icon menu to its initial state. -The middle button menu of a notefile's menu icon: It is now possible for users to add menu items to this menu using the following functions. -(NCP.AddNoteFileIconMiddleButtonItems <Notefile><MenuItems>) -1 - -Adds list of menu items <MenuItems> to the middle button menu of the main menu icon corresponding to <Notefile>. These menu items will remain on the menu until the next time the notefile is closed. The second item of each menu item should be an atom that is the name of a function to be called when selected. -(NCP.AddDefaulltNoteFileIconMiddleButtonItems <MenuItems>) -1 - -Adds list of menu items <MenuItems> to the middle button menu of the main menu icons for all notefiles. These menu items will remain on the menus for the life of the session. The second item of each menu item should be an atom that is the name of a function to be called when selected. -The ShowCards middle button menu on the notefile icon: Users can indicate that certain cards should be added to or deleted from this menu using the following functions. -(NCP.AddSpecialCard <Card>) -1 - -Adds <Card> to the list of special cards appearing in the middle button menu on the ShowCards option of the notefile icon (for the notefile containing <Card>). -(NCP.RemoveSpecialCard <Card>) -1 - -Removes <Card> from the list of special cards appearing in the middle button menu on the ShowCards option of the notefile icon (for the notefile containing <Card>). -The title bar menus of cards and card types: Users can add menu items to either a specific window containing a card, or to the default menu of a card type. -(NCP.AddTitleBarMenuItemsToWindow <Win> <Button> <NewMenuItems><TopOrBottom>) -1 - -Adds the menu items <NewMenuItems> to the title bar menu of <Win>. <Button> should be one of 'Left or 'Middle, corresponding to either the LeftButtonTitleBarMenu or the MiddleButtonTitleBarMenu. <Win> should be the window of a visible notecard. <TopOrBottom> should be one of 'Top or 'Bottom, indicating where in the menu the new items should appear. -(NCP.AddTitleBarMenuItemsToType <Type> <Button> <NewMenuItems> <TopOrBottom>) -1 - -Adds the menu items <NewMenuItems> to the title bar menu of all cards of type <Type>. <Button> should be one of 'Left or 'Middle, corresponding to either the LeftButtonTitleBarMenu or the MiddleButtonTitleBarMenu. <TopOrBottom> should be one of 'Top or 'Bottom, indicating where in the menu the new items should appear. -Menu of notefiles: the user may use the list and menu of noticed notefiles maintained by NoteCards. -NCP.NoticedNoteFileNames -1 - -Global var containing a list of the currently available notefile names noticed by NoteCards. -(NCP.NoticedNoteFileNamesMenu <IncludeNewNoteFileFlg> <AllowedOperations> <InterestedWindow> <Operation>)) -1 - -Provides user with a menu of noticed notefile names. <IncludeNewNoteFileFlg> should be non-NIL if new notefiles are allowed. <AllowedOperations> should be one of the atoms: OPEN, CLOSED or NIL for both. <Operation> should be a string or atom containing the name of the operation to be performed on the result and the word NoteFile; e.g. (QUOTE Open% NoteFile). This is used in the prompt for a new notefile name. <InterestedWindow> is the window to receive a prompt window for any messages printed. -(NCP.ForgetNoteFileName <NoteFileOrFileName> ) -1 - -The notefile is removed from the menu of noticed notefiles. It will not be added to the menu again until explicitly remembered using NCP.RememberNoteFileName regardless of other operations performed on the notefile. -(NCP.RememberNoteFileName <NoteFileOrFileName> ) -1 - -The notefile is added to the menu of noticed notefiles. This is only necessary if the NoteFile name has been forgotten. -NCP.GrayShade -1 - -Global var containing the shade used for shading various menu items in the interface. The default value of NCP.GrayShade is GRAYSHADE. This variable should be changed with the function NCP.SetGrayShade (see below). -(NCP.SetGrayShade <Shade>) -1 - -This function should be used to change the value of NCP.GrayShade to <Shade>. In addition to changing NCP.GrayShade, it also resets all cached menus that use NCP.GrayShade. If <Shade> is NIL, NCP.GrayShade will not be changed, but the menus will still be reset. Returns the new value of NCP.GrayShade. -8. Handy Miscellaneous Functions -1 - -(NCP.BringUpNoteCardsIcon <IconPosition> ) -1 - -Brings up the NoteCards session icon at the position <IconPosition>. If no position is given, will prompt the user th place the icon. If the icon is already on the screen and no position is given, it will be flashed. (equivalent to (NoteCards <IconPosition>). -(NCP.TitleSearch <NoteFile> <keys> <caseSensitiveFlg> ) -1 - -Returns a list of all cards in <NoteFile> having all of the <keys> (can be atom, string or list) within their titles. Normally case insensitive unless <caseSensitiveFlg> is non-nil. -(NCP.PropSearch <NoteFile> <propOrPair> <propOrPair> ...) -1 - -Returns a list of all caTEXTBOX (640.0 0 60.0 40) ("Next") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((656.0 13.5 28 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 50.0 (PRI 8)) (TEXTBOX (100.0 40 100.0 40) ("Shift") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((136.5 53.5 27 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 9)) (TEXTBOX (200.0 40 40 40) ("Z -" "z") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((216.5 60.0 7 13) (217.0 47.0 6 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 10)) (TEXTBOX (240.0 40 40 40) ("X -" "x") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((256.0 60.0 8 13) (256.5 47.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 11)) (TEXTBOX (280.0 40 40 40) ("C -" "c") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((296.5 60.0 7 13) (297.5 47.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 12)) (TEXTBOX (320.0 40 40 40) ("V -" "v") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((336.0 60.0 8 13) (336.5 47.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 13)) (TEXTBOX (360.0 40 40 40) ("B -" "b") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((376.5 60.0 7 13) (376.5 47.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 14)) (TEXTBOX (400.0 40 40 40) ("N -" "n") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((415.5 60.0 9 13) (416.5 47.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 15)) (TEXTBOX (440.0 40 40 40) ("M -" "m") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((454.5 60.0 11 13) (454.5 47.0 11 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 16)) (TEXTBOX (480.0 40 40 40) ("< -" ",") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((494.0 60.0 12 13) (498.5 47.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 17)) (TEXTBOX (520.0 40 40 40) ("> -" ".") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((534.0 60.0 12 13) (538.5 47.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 18)) (TEXTBOX (560.0 40 40 40) ("? -" "/") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((577.0 60.0 6 13) (578.5 47.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 30.0 (PRI 19)) (TEXTBOX (600.0 40 60.0 40) ("Shift") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((616.5 53.5 27 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 20)) (TEXTBOX (660.0 40 40 40) ("LF") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((674.0 53.5 12 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 26)) (TEXTBOX (100.0 80 80 40) ("Ctrl") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((130.0 93.5 20 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 27)) (TEXTBOX (180.0 80 40 40) ("A -" "a") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((195.5 100.0 9 13) (196.5 87.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 28)) (TEXTBOX (220.0 80 40 40) ("S -" "s") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((236.5 100.0 7 13) (237.5 87.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 29)) (TEXTBOX (260.0 80 40 40) ("D -" "d") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((275.5 100.0 9 13) (276.5 87.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 30)) (TEXTBOX (300.0 80 40 40) ("F -" "f") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((317.0 100.0 6 13) (317.5 87.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 31)) (TEXTBOX (340.0 80 40 40) ("G -" "g") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((355.5 100.0 9 13) (356.5 87.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 32)) (TEXTBOX (380.0 80 40 40) ("H -" "h") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((395.5 100.0 9 13) (396.5 87.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 33)) (TEXTBOX (420.0 80 40 40) ("J -" "j") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((437.5 100.0 5 13) (438.5 87.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 34)) (TEXTBOX (460.0 80 40 40) ("K -" "k") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((476.0 100.0 8 13) (476.5 87.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 35)) (TEXTBOX (500.0 80 40 40) ("L -" "l") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((517.0 100.0 6 13) (518.5 87.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 36)) (TEXTBOX (540.0 80 40 40) (": -" ";") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((557.5 100.0 5 13) (557.5 87.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 37)) (TEXTBOX (580.0 80 40 40) ("%" -" "'") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((596.5 100.0 7 13) (598.5 87.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 38)) (TEXTBOX (620.0 80 80 40) ("Return") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((641.0 93.5 38 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 30.0 (PRI 44)) (TEXTBOX (100.0 120 60.0 40) ("Tab") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((119.5 133.5 21 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 45)) (TEXTBOX (160.0 120 40 40) ("Q -" "q") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((175.5 140.0 9 13) (176.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 46)) (TEXTBOX (200.0 120 40 40) ("W -" "w") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((214.0 140.0 12 13) (214.5 127.0 11 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 47)) (TEXTBOX (240.0 120 40 40) ("E -" "e") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((256.5 140.0 7 13) (256.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 48)) (TEXTBOX (280.0 120 40 40) ("R -" "r") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((296.5 140.0 7 13) (297.5 127.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 49)) (TEXTBOX (320.0 120 40 40) ("T -" "t") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((336.5 140.0 7 13) (337.5 127.0 5 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 50)) (TEXTBOX (360.0 120 40 40) ("Y -" "y") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((376.0 140.0 8 13) (376.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 51)) (TEXTBOX (400.0 120 40 40) ("U -" "u") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((415.5 140.0 9 13) (416.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 52)) (TEXTBOX (440.0 120 40 40) ("I -" "i") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((458.5 140.0 3 13) (458.5 127.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 53)) (TEXTBOX (480.0 120 40 40) ("O -" "o") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((495.5 140.0 9 13) (496.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 54)) (TEXTBOX (520.0 120 40 40) ("P -" "p") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((536.5 140.0 7 13) (536.5 127.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 55)) (TEXTBOX (560.0 120 40 40) ("{ -" "[") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((577.0 140.0 6 13) (578.0 127.0 4 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 56)) (TEXTBOX (600.0 120 40 40) ("} -" "]") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((617.0 140.0 6 13) (618.0 127.0 4 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 30.0 (PRI 57)) (TEXTBOX (640.0 120 60.0 40) ("Backspace") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((641.5 133.5 57 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 63)) (TEXTBOX (100.0 160 40 40) ("Esc") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((111.5 173.5 17 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 64)) (TEXTBOX (140.0 160 40 40) ("! -" "1") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((157.5 180.0 5 13) (156.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 65)) (TEXTBOX (180.0 160 40 40) ("@ -" "2") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((194.0 180.0 12 13) (196.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 66)) (TEXTBOX (220.0 160 40 40) ("# -" "3") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((235.5 180.0 9 13) (236.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 67)) (TEXTBOX (260.0 160 40 40) ("$ -" "4") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((276.5 180.0 7 13) (276.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 68)) (TEXTBOX (300.0 160 40 40) ("%% -" "5") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((314.0 180.0 12 13) (316.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 69)) (TEXTBOX (340.0 160 40 40) ("^ -" "6") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((357.0 180.0 6 13) (356.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 70)) (TEXTBOX (380.0 160 40 40) ("& -" "7") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((395.5 180.0 9 13) (396.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 71)) (TEXTBOX (420.0 160 40 40) ("* -" "8") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((436.5 180.0 7 13) (436.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 72)) (TEXTBOX (460.0 160 40 40) ("( -" "9") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((478.0 180.0 4 13) (476.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 73)) (TEXTBOX (500.0 160 40 40) (") -" "0") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((518.0 180.0 4 13) (516.5 167.0 7 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 74)) (TEXTBOX (540.0 160 40 40) ("_ -" "-") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((554.0 180.0 12 13) (558.0 167.0 4 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 75)) (TEXTBOX (580.0 160 40 40) ("+ -" "=") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((594.0 180.0 12 13) (594.0 167.0 12 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 76)) (TEXTBOX (620.0 160 40 40) ("| -" "\") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((638.5 180.0 3 13) (638.5 167.0 3 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 77)) (TEXTBOX (660.0 160 40 40) ("~ -" "`") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((677.0 180.0 6 13) (677.0 167.0 6 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 83)) (TEXTBOX (100.0 200 40 40) ("Center") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((101.0 213.5 38 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 84)) (TEXTBOX (140.0 200 40 40) ("Bold") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((148.0 213.5 24 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 85)) (TEXTBOX (180.0 200 80 40) ("Italic") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((207.0 213.5 26 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 86)) (TEXTBOX (260.0 200 80 40) ("Case") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((287.0 213.5 26 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 87)) (TEXTBOX (340.0 200 80 40) ("Strikeout") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((353.5 213.5 53 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 88)) (TEXTBOX (420.0 200 80 40) ("Underline") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((432.5 213.5 55 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 40.0 (PRI 89)) (TEXTBOX (500.0 200 80 40) ("Super -" "Sub") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((523.5 220.0 33 13) (529.5 207.0 21 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 90)) (TEXTBOX (580.0 200 40 40) ("Larger -" "Smaller") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((581.5 220.0 37 13) (578.5 207.0 43 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 91)) (TEXTBOX (620.0 200 40 40) ("Margin") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((620.0 213.5 40 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.04 20.0 (PRI 92)) (TEXTBOX (660.0 200 40 40) ("Back -" "Word") 1.0 (CENTER CENTER) (MODERN 12 (BOLD REGULAR REGULAR)) ((667.0 220.0 26 13) (664.5 207.0 31 13)) NIL (ROUND 2 NIL) NIL (0 NIL NIL)))) -(99.58507 -1.2448133 600.0 241.49379) -1.2448133 -8 - -Figure 4-3. Sun Type 3 Center Key Pad Interpretation -Sun Type 4 Keyboard -1 - -Figures 4-3 through 4-5 show the keyboard and the left and right key pads for the Sun Type 4 keyboard. -((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (108 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.03 30.0 (PRI 1)) (TEXTBOX (0 0 60 30) ("Help") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((21.5 10.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 12)) (TEXTBOX (0 30 30 30) ("Find") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((7.0 40.0 16 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 13)) (TEXTBOX (30 30 30 30) ("Delete") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((33.5 40.0 23 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 30)) (TEXTBOX (0 60 30 30) ("Open") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((5.0 70.0 20 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 31)) (TEXTBOX (30 60 30 30) ("Move") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((34.5 70.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 50)) (TEXTBOX (0 90 30 30) ("Same") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((5.5 100.0 19 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 51)) (TEXTBOX (30 90 30 30) ("Copy") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((35.5 100.0 19 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 69)) (TEXTBOX (0 120 30 30) ("Props") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((4.5 130.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 70)) (TEXTBOX (30 120 30 30) ("Undo") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((34.5 130.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 89)) (TEXTBOX (0 150 30 30) ("Stop") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((6.5 160.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 90)) (TEXTBOX (30 150 30 30) ("Again") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((34.0 160.0 22 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL)))) -(-2.0 -2.0 64.0 184.0) -1.0 -8 - ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (112 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.03 30.0 (PRI 9)) (TEXTBOX (540.0 0 60 30) ("Ins") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((564.5 10.0 11 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 10)) (TEXTBOX (600.0 0 30 30) ("Del") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((609.0 10.0 12 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 30.0 (PRI 11)) (TEXTBOX (630.0 0 30 60) ("DOIT") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((636.0 25.0 18 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 27)) (TEXTBOX (540.0 30 30 30) ("1 -" "End") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((553.0 45.0 4 10) (548.0 35.0 14 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 28)) (TEXTBOX (570.0 30 30 30) ("2 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((583.0 40.0 4 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 29)) (TEXTBOX (600.0 30 30 30) ("3 -" "PgDN") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((613.0 45.0 4 10) (604.5 35.0 21 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 46)) (TEXTBOX (540.0 60 30 30) ("4 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((553.0 70.0 4 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 47)) (TEXTBOX (570.0 60 30 30) ("5 -" "") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((583.0 75.0 4 10) (585.0 65.0 0 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 48)) (TEXTBOX (600.0 60 30 30) ("6 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((613.0 70.0 4 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 30.0 (PRI 49)) (TEXTBOX (630.0 60 30 60) ("+ -" "") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((640.0 90.0 10 10) (645.0 80.0 0 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 66)) (TEXTBOX (540.0 90 30 30) ("7 -" "Home") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((553.0 105.0 4 10) (544.0 95.0 22 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 67)) (TEXTBOX (570.0 90 30 30) ("8 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((583.0 100.0 4 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 68)) (TEXTBOX (600.0 90 30 30) ("9 -" "PgUP") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((613.0 105.0 4 10) (605.5 95.0 19 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 85)) (TEXTBOX (540.0 120 30 30) ("=") 1.0 (CENTER CENTER) (MODERN 10 (BOLD REGULAR REGULAR)) ((550.0 129.0 10 12)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 86)) (TEXTBOX (570.0 120 30 30) ("/") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((584.0 130.0 2 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 87)) (TEXTBOX (600.0 120 30 30) ("*") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((613.0 130.0 4 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 88)) (TEXTBOX (630.0 120 30 30) ("-") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((643.5 130.0 3 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 105)) (TEXTBOX (540.0 150 30 30) ("Break") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((545.0 160.0 20 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 106)) (TEXTBOX (570.0 150 30 30) ("PrSc") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((577.5 160.0 15 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 107)) (TEXTBOX (600.0 150 30 30) ("scroll -" "lock") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((605.0 165.0 20 10) (607.5 155.0 15 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 108)) (TEXTBOX (630.0 150 30 30) ("num -" "lock") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((636.5 165.0 17 10) (637.5 155.0 15 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.0 5.935486 (PRI 109)) (WIRE ((608.4516 . 71.93548) (620.3226 . 71.93548)) (ROUND 0.7419355 BLACK) (NIL (SOLID 23.0 5.935484) NIL) NIL 1 (607.70966 71.19354 13.354843 1.483871) (NIL ((620.3226 . 71.93548) (614.85895 . 69.6163) (614.85895 . 74.254654))))) ((0.0 5.935486 (PRI 110)) (WIRE ((560.9677 . 71.93548) (549.09674 . 71.93548)) (ROUND 0.7419355 BLACK) (NIL (SOLID 23.0 5.935484) NIL) NIL 1 (548.3548 71.19354 13.354843 1.483871) (NIL ((549.09674 . 71.93548) (554.56036 . 74.254654) (554.56036 . 69.6163))))) ((0.0 4.4516144 (PRI 111)) (WIRE ((584.70966 . 94.64516) (584.70966 . 103.548386)) (ROUND 0.7419355 BLACK) (NIL (SOLID 23.0 5.935484) NIL) NIL 1 (583.9677 93.90322 1.483871 10.3871) (NIL ((584.70966 . 103.548386) (587.0288 . 98.08475) (582.3905 . 98.08475))))) ((0.0 4.4516144 (PRI 112)) (WIRE ((582.70966 . 41.225807) (582.70966 . 32.32258)) (ROUND 0.7419355 BLACK) (NIL (SOLID 23.0 5.935484) NIL) NIL 1 (581.9677 31.580643 1.483871 10.3871) (NIL ((582.70966 . 32.32258) (580.3905 . 37.78622) (585.0288 . 37.78622)))))) -(538.0 -2.0 124.0 184.0) -1.0 -8 - -Figure 4-3. Sun Type 4 Figure 4-4. Sun Type 4 - Left Key Pad Right Key Pad -((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (108 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.03 22.5 (PRI 2)) (TEXTBOX (75.0 0 45.0 30) ("Caps") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((88.5 10.0 18 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 3)) (TEXTBOX (120.0 0 30 30) ("Meta") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((125.5 10.0 19 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 4)) (TEXTBOX (150.0 0 30 30) ("Left -" "Spc") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((158.0 15.0 14 10) (158.5 5.0 13 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 127.5 (PRI 5)) (TEXTBOX (180.0 0 255.0 30) ("Space") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((297.0 10.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 6)) (TEXTBOX (435.0 0 30 30) ("Right -" "Spc") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((440.0 15.0 20 10) (443.5 5.0 13 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 7)) (TEXTBOX (465.0 0 30 30) ("Expand") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((466.5 10.0 27 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 8)) (TEXTBOX (495.0 0 30 30) ("Next") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((501.5 10.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 37.5 (PRI 14)) (TEXTBOX (75.0 30 75.0 30) ("Shift") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((104.0 40.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 15)) (TEXTBOX (150.0 30 30 30) ("Z -" "z") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((163.0 45.0 4 10) (163.0 35.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 16)) (TEXTBOX (180.0 30 30 30) ("X -" "x") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((192.5 45.0 5 10) (193.0 35.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 17)) (TEXTBOX (210.0 30 30 30) ("C -" "c") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((222.5 45.0 5 10) (223.0 35.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 18)) (TEXTBOX (240.0 30 30 30) ("V -" "v") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((252.5 45.0 5 10) (253.0 35.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 19)) (TEXTBOX (270.0 30 30 30) ("B -" "b") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((282.5 45.0 5 10) (282.5 35.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 20)) (TEXTBOX (300.0 30 30 30) ("N -" "n") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((312.0 45.0 6 10) (312.5 35.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 21)) (TEXTBOX (330.0 30 30 30) ("M -" "m") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((341.0 45.0 8 10) (341.5 35.0 7 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 22)) (TEXTBOX (360.0 30 30 30) ("< -" ",") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((371.0 45.0 8 10) (374.0 35.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 23)) (TEXTBOX (390.0 30 30 30) ("> -" ".") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((401.0 45.0 8 10) (404.0 35.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 24)) (TEXTBOX (420.0 30 30 30) ("? -" "/") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((433.0 45.0 4 10) (434.0 35.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 22.5 (PRI 25)) (TEXTBOX (450.0 30 45.0 30) ("Shift") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((464.0 40.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 26)) (TEXTBOX (495.0 30 30 30) ("LF") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((506.0 40.0 8 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 30.0 (PRI 32)) (TEXTBOX (75.0 60 60 30) ("Ctrl") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((98.5 70.0 13 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 33)) (TEXTBOX (135.0 60 30 30) ("A -" "a") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((147.0 75.0 6 10) (148.0 65.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 34)) (TEXTBOX (165.0 60 30 30) ("S -" "s") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((178.0 75.0 4 10) (178.0 65.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 35)) (TEXTBOX (195.0 60 30 30) ("D -" "d") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((207.0 75.0 6 10) (207.5 65.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 36)) (TEXTBOX (225.0 60 30 30) ("F -" "f") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((238.0 75.0 4 10) (238.5 65.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 37)) (TEXTBOX (255.0 60 30 30) ("G -" "g") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((267.0 75.0 6 10) (267.5 65.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 38)) (TEXTBOX (285.0 60 30 30) ("H -" "h") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((297.0 75.0 6 10) (297.5 65.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 39)) (TEXTBOX (315.0 60 30 30) ("J -" "j") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((328.5 75.0 3 10) (329.0 65.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 40)) (TEXTBOX (345.0 60 30 30) ("K -" "k") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((357.5 75.0 5 10) (358.0 65.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 41)) (TEXTBOX (375.0 60 30 30) ("L -" "l") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((388.0 75.0 4 10) (389.0 65.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 42)) (TEXTBOX (405.0 60 30 30) (": -" ";") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((418.5 75.0 3 10) (418.5 65.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 43)) (TEXTBOX (435.0 60 30 30) ("%" -" "'") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((448.0 75.0 4 10) (449.0 65.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 44)) (TEXTBOX (465.0 60 30 30) ("~ -" "`") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((478.0 75.0 4 10) (478.0 65.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 30.0 (PRI 45)) (TEXTBOX (495.0 60 30 60) ("Return") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((497.5 85.0 25 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 22.5 (PRI 52)) (TEXTBOX (75.0 90 45.0 30) ("Tab") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((91.0 100.0 13 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 53)) (TEXTBOX (120.0 90 30 30) ("Q -" "q") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((132.0 105.0 6 10) (132.5 95.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 54)) (TEXTBOX (150.0 90 30 30) ("W -" "w") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((161.0 105.0 8 10) (161.5 95.0 7 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 55)) (TEXTBOX (180.0 90 30 30) ("E -" "e") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((193.0 105.0 4 10) (193.0 95.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 56)) (TEXTBOX (210.0 90 30 30) ("R -" "r") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((222.5 105.0 5 10) (223.5 95.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 57)) (TEXTBOX (240.0 90 30 30) ("T -" "t") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((253.0 105.0 4 10) (253.5 95.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 58)) (TEXTBOX (270.0 90 30 30) ("Y -" "y") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((282.5 105.0 5 10) (283.0 95.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 59)) (TEXTBOX (300.0 90 30 30) ("U -" "u") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((312.0 105.0 6 10) (312.5 95.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 60)) (TEXTBOX (330.0 90 30 30) ("I -" "i") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((344.0 105.0 2 10) (344.0 95.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 61)) (TEXTBOX (360.0 90 30 30) ("O -" "o") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((372.0 105.0 6 10) (372.5 95.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 62)) (TEXTBOX (390.0 90 30 30) ("P -" "p") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((403.0 105.0 4 10) (402.5 95.0 5 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 63)) (TEXTBOX (420.0 90 30 30) ("{ -" "[") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((433.0 105.0 4 10) (433.5 95.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 64)) (TEXTBOX (450.0 90 30 30) ("} -" "]") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((463.0 105.0 4 10) (463.5 95.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.015 15.0 (PRI 65)) (TEXTBOX (480.0 90 15.0 30) ("") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((487.5 100.0 0 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 71)) (TEXTBOX (75.0 120 30 30) ("Esc") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((84.0 130.0 12 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 72)) (TEXTBOX (105.0 120 30 30) ("! -" "1") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((118.5 135.0 3 10) (118.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 73)) (TEXTBOX (135.0 120 30 30) ("@ -" "2") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((146.0 135.0 8 10) (148.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 74)) (TEXTBOX (165.0 120 30 30) ("# -" "3") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((177.0 135.0 6 10) (178.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 75)) (TEXTBOX (195.0 120 30 30) ("$ -" "4") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((208.0 135.0 4 10) (208.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 76)) (TEXTBOX (225.0 120 30 30) ("%% -" "5") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((236.0 135.0 8 10) (238.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 77)) (TEXTBOX (255.0 120 30 30) ("^ -" "6") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((268.0 135.0 4 10) (268.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 78)) (TEXTBOX (285.0 120 30 30) ("& -" "7") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((297.0 135.0 6 10) (298.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 79)) (TEXTBOX (315.0 120 30 30) ("* -" "8") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((328.0 135.0 4 10) (328.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 80)) (TEXTBOX (345.0 120 30 30) ("( -" "9") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((358.5 135.0 3 10) (358.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 81)) (TEXTBOX (375.0 120 30 30) (") -" "0") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((388.5 135.0 3 10) (388.0 125.0 4 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 82)) (TEXTBOX (405.0 120 30 30) ("_ -" "-") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((416.0 135.0 8 10) (418.5 125.0 3 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 83)) (TEXTBOX (435.0 120 30 30) ("+ -" "=") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((446.0 135.0 8 10) (446.0 125.0 8 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 30.0 (PRI 84)) (TEXTBOX (465.0 120 60 30) ("Back -" "Space") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((486.5 135.0 17 10) (484.5 125.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 91)) (TEXTBOX (75.0 150 30 30) ("F1 -" "Center") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((86.0 165.0 8 10) (78.0 155.0 24 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 92)) (TEXTBOX (105.0 150 30 30) ("F2 -" "Bold") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((116.0 165.0 8 10) (111.5 155.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 93)) (TEXTBOX (135.0 150 30 30) ("F3 -" "Italic") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((146.0 165.0 8 10) (141.5 155.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 94)) (TEXTBOX (165.0 150 30 30) ("F4 -" "Case") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((176.0 165.0 8 10) (171.5 155.0 17 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 95)) (TEXTBOX (195.0 150 30 30) ("F5 -" "Strike") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((206.0 165.0 8 10) (200.0 155.0 20 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 96)) (TEXTBOX (225.0 150 30 30) ("F6 -" "Under") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((236.0 165.0 8 10) (228.5 155.0 23 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 97)) (TEXTBOX (255.0 150 30 30) ("F7 -" "Super") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((266.0 165.0 8 10) (259.5 155.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 98)) (TEXTBOX (285.0 150 30 30) ("F8 -" "Large") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((296.0 165.0 8 10) (290.0 155.0 20 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 99)) (TEXTBOX (315.0 150 30 30) ("F9 -" "Margin") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((326.0 165.0 8 10) (316.5 155.0 27 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 15.0 (PRI 100)) (TEXTBOX (345.0 150 30 30) ("F10 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((354.0 160.0 12 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 101)) (TEXTBOX (375.0 150 30 30) ("F11 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((384.0 160.0 12 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 102)) (TEXTBOX (405.0 150 30 30) ("F12 -") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((414.0 160.0 12 10)) NIL (ROUND 2 NIL) NIL (NIL NIL NIL))) ((0.03 15.0 (PRI 103)) (TEXTBOX (435.0 150 30 30) ("| -" "\") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((449.0 165.0 2 10) (449.0 155.0 2 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL))) ((0.03 30.0 (PRI 104)) (TEXTBOX (465.0 150 60 30) ("Delete -" "Word") 1.0 (CENTER CENTER) (MODERN 8 (BOLD REGULAR REGULAR)) ((483.5 165.0 23 10) (484.5 155.0 21 10)) NIL (ROUND 2 NIL) NIL (0 NIL NIL)))) -(74.0 -1.0 452.0 182.0) -1.0 -8 - -Figure 4-5. Sun Type 4 Center Key Pad Interpretation -Note: In SunOS 4.0, the NEXT (ALT/GRAPH) key on the Type 4 keyboard is inaccessible. Later versions of SunOS are believed to fix this. - -2 - -Console Messages -1 - -Under SunOS, various system processes and operations attempt to log information on the console. Since NoteCards takes over the screen, console messages are redirected; a background process in NoteCards causes them to appear in the prompt window. -When NoteCards is run remotely (i.e., not from the console), most console, or operating system, messages are printed in the prompt window. Some messages may also appear in the middle of the NoteCards display screen or on the remote tty. This occurs because UNIX is often confused about where to send messages. NoteCards is normally run remotely only for debugging purposes. -(1) - -CAUTION -Critical UNIX system processes can hang if the buffer holding console messages fills. There are two points to watch for: -NoteCards uses a temporary file, /tmp/XXXX-lisp.log, where XXXX is the user's login name, to buffer console messages before printing them. Do not delete this log file while NoteCards is running. If the log file is deleted, console messages can no longer be printed in the NoteCards prompt window. -The process \10MBWATCHER, used to watch for Ethernet packets, reads console messages. Thus, you should never kill the \10MBWATCHER process, even if you don't use the Ethernet capabilities of NoteCards. If you do kill the \10MBWATCHER process, console messages cannot be printed and the operating system can hang. -(1) - -2 - -File Compatibility -1 - -Sysout Compatibility between Sun and Xerox Workstations -1 - -Sysout files created on Xerox Workstations can be moved to Sun workstations. However, sysout files created on Sun Workstations cannot be moved to Xerox workstations. -File Compatibility between Sun and Xerox Workstations -1 - -Some care must be taken in moving files to and from Xerox workstations and services, since the default end-of-line convention in UNIX is to terminate lines with the line feed (LF) character, while traditionally Xerox systems have terminated lines with the carriage return (CR) character. In particular, if you use some other file transfer mechanism, such as FTP or Kermit, be careful to transfer .TEDIT and .NOTEFILE files in binary mode. -In NoteCards on the Sun Workstation, the default end-of-line convention for all text files is line feed (LF). The default end-of-line convention for all binary files is carriage return (CR); this is because CR is used internally in the system. -When working with the Xerox protocols XNS and PUP as well as Sun NFS, it is important that you use the suffix .TEDIT on all TEdit files, the suffix .SKETCH on all Sketch files, and the suffix .NOTEFILE on all notefiles for NoteCards to treat the files properly when moving them from one device to another. -TEdit files not transfered in binary mode frequently get "Font not found." error messages when you try to open then. The carriage returns, which are represented by the number 13, are reinterpreted as font information and the system breaks trying to look for a font of size 13. These files are irrecoverably lost. -Notefile Compatibility with Prerelease Versions of NoteCards -1 - -NoteCards 1.1 uses an internal format for notefiles different from that used in prerelease versions of NoteCards. Prerelease notefiles must be converted to the new format before they can be used in NoteCards 1.1. -Conversion is one-way. Once a notefile is converted to the new format and used in Envos NoteCards, it cannot be converted back to the old format. Conversion is non-destructive. The converted notefile is a copy of the original notefile, so the original notefile is still available for use with prerelease versions of NoteCards. -Conversion is carried out automatically the first time you open a prerelease notefile using NoteCards 1.1. The conversion process copies and reformats the notefile, then opens the copy. The new notefile has the same name but higher version number than the old prerelease notefile. -Conversion takes from 10 minutes for a small notefile to an hour or more for a very large notefile. Conversion requires disk space equal to 120% of the space required by a compacted version of the prerelease notefile. The converter does not check beforehand to see if it has enough disk space to complete the conversion. It will simply crash if it runs out of space. Therefore, make sure there is plenty of disk space available before starting any conversions. -Note that in order to convert a prerelease notefile, all of the card types contained in that notefile must be available in NoteCards 1.1. An attempt to convert a notefile containing a card type not available in NoteCards 1.1 will cause the conversion to fall into a break window. Typing ^ into the break window will exit the break and abort the conversion. -2 - -Using SunOS Files from NoteCards -1 - -You can access any mounted SunOS file system directly from NoteCards. The mounted file system is available as an I/O device of the NoteCards environment. This file system appears as the local disk of NoteCards, even though it may be a remotely mounted file system of networked Sun file servers. -Many of the file devices to which the NoteCards environment can talk, including PUP, XNS file servers, the {CORE} device, and others, have facilities that are not directly supported by SunOS. For example, many file systems have file version numbers and case insensitive file search conventions. -NoteCards on the Sun Workstation has two distinct "host" names that can be used to access the SunOS file system. These host names are provided for compatibility with existing applications and tools. They also simultaneously allow natural interaction with the SunOS file system. The names are: - {DSK} On the Sun Workstation, the {DSK} device allows you to access the file system using similar conventions to those used for Xerox services. In particular, {DSK} files have version numbers; {DSK} file name recognition also ignores the case of letters. - {UNIX} The {UNIX} device lets you use the mounted file systems with the normal naming conventions of the SunOS file system. {UNIX} files do not have version numbers, and the file name recognition treats lower case letters as distinct from their upper case equivalents. -File streams can be opened or closed on both devices. The reason for having both devices is to more easily support the running of applications that were originally developed using Xerox services, while still allowing new applications to interact more naturally with UNIX. -File Naming Conventions -1 - -In NoteCards, a file name (pathname) consists of a collection of fields: the host, directory, name, extension and version. These fields are optional. The standard NoteCards syntax for these fields is: -{host}<directory>name.extension;version -The directory field can be a directory path consisting of a sequence of directory and subdirectory components. Slashes (/) and right angle brackets (>) can be used to delimit a directory name; there is no distinction made between them. However, you should use one delimiter or the other consistently. What the directory returns is unpredictable if you mix delimiters. Note that square brackets ([]) are not acceptable as directory delimiters. -Common {DSK} and {UNIX} Naming Conventions -1 - -*�� �The following special characters cannot be used: backslash (\), slash (/), right angle bracket (>), semicolon (;) and tilde (~). Thus, from {DSK} you cannot name files containing these characters. The following UNIX file names are illegal in NoteCards: - foo/fee - foo>fee - foo;3 - foo; -*�� �{DSK} cannot distinguish between a file name with a period (e.g., foo.) and a simple file name (e.g., foo). For {DSK}, each is version 1 of the file (e.g., {DSK}foo.;1). -*�� �On {DSK}, the C-Shell and SunOS directory notations (~, ., and ..) are only allowed in the NoteCards directory specifications at the very beginning of the directory specification of a pathname. The tilde character (~) corresponds to the user's home directory at login. The period (.) corresponds to the current working directory, while two periods (..) indicates the parent of the current working directory. -{DSK} Naming Conventions -1 - -File access to the {DSK} device goes through the following file name transformation when actually accessing the SunOS file system: -*�� �Mixed case letters are read as such. -*�� � File name searches are done case sensitive first; if a match is not found, the system then does a case insensitive search. -*�� �A left angle bracket (<) is translated to a slash (/), the delimiter for the root directory. -*�� �{�D�S�K�}� �d�o�e�s� �n�o�t� �a�c�c�e��p�t� file names ending in tilde (~). -*�� �{�D�S�K�}� �s�u�p�p�o�r�t�s� ��r�e�l�a�t�i�v�e� �p�a�t�h�n�a�m�e�s��.� You can specify relative pathnames by omitting a slash (/) or left angle bracket (<) as the first character in the directory field. For example, {DSK}foo.fee and {DSK}~/foo.fee are relative to your UNIX home directory ( ~/foo.fee). - {DSK}./foo.fee is relative to your current working directory (SunOS ./foo.fee). - {DSK}../foo.fee is relative to the parent directory of your current UNIX working directory (../foo.fee). - However, a combination of relative path specifiers (~, ., ..) is not supported. For instance, {DSK} cannot interpret {DSK}~/../anotherone/foo.c. In addition, {DSK} does not support the tilde-name (~name) convention (e.g., {DSK} cannot interpret {DSK}~tom/foo.c). ��{�D�S�K�}� �also ��d�o�e�s� �n�o�t� �a�c�c�e��p�t� file names ending in tilde; a {DSK} file name ending in tilde causes an error message to appear in the prompt window. -Version Numbering -1 - -The UNIX file system does not support version numbers in file names; {DSK} emulates versions with a naming convention. This section explains how {DSK} version numbers are represented in the SunOS file system. -*�� �When you create a completely new file, it appears in the SunOS file system without a version number. -{DSK} Name From NoteCards File Name From SunOS -bar.baz;1 bar.baz -*�� �When you create (from NoteCards) a file with a version other than 1, NoteCards adds version numbers to that file name, as a trailing number between tildes, e.g., "myfile.~12~" for the 12th version of myfile. -The following shows some examples of equivalent file names in NoteCards and SunOS. -{DSK} Name From NoteCards File Name From SunOS -bar.baz;1 bar.baz.~1~ -bar.baz;2 bar.baz.~2~ -bar.;23 bar.~23~ -* NoteCards always maintains a versionless file which is hard-linked to the highest extant version of the file (i.e., they are two names for the very same file). This file name does not appear in the {DSK} directory listing. -From {DSK} From SunOS -foo.c;15 foo.c (hard linked with foo.c.~23~) -foo.c;23 foo.c.~15~ - foo.c.~23~ -�� �Similarly, a file created in UNIX with no version number is treated by {DSK} as the highest version. -* When you create a new version of a file, the versionless-file link is broken, and the versionless file is hard-linked to the new highest version. -From {DSK} From SunOS -foo.c;15 foo.c (hard linked with foo.c.~24~) -foo.c;22 foo.c.~15~ -foo.c;24 (new file) foo.c.~23~ (no link with foo.c) - foo.c.~24~ (new file, link from - foo.c) -*�� �When you delete the highest version of a file, the versionless file is also deleted. If any older versions of the file remain, a new link is created from the versionless name to the highest version extant. For example, if you have the files -From {DSK} From SunOS -foo.c;1 foo.c (linked to foo.c.~2~) -foo.c;2 foo.c.~1~ - foo.c.~2~ - and you delete foo.c;2 from {DSK}, the resulting files are: -From {DSK} From SunOS -foo.c;1 foo.c (linked to foo.c.~1~) - foo.c.~1~ -*�� �When you rename a file it works the same as deleting the file under the old name then creating it under the new name. For example, if you have the following {DSK} files, - From {DSK} From SunOS -foo.c;1 foo.c (linked to foo.c.~2~) -foo.c;2 foo.c.~1~ -fee.c;1 foo.c.~2~ -fee.c;2 fee.c (linked to fee.c.~2~) - fee.c.~1~ - fee.c.~2~ - and you rename "foo.c" to "fee.c", your renamed {DSK} files and the linked SunOS files would appear as - From {DSK} From SunOS -foo.c;1 foo.c (linked to foo.c.~1~) -fee.c;1 foo.c.~1~ -fee.c;2 fee.c (linked to fee.c.~3~) -fee.c;3 fee.c.~1~ - fee.c.~2~ - fee.c.~3~ (renamed file) -*�� �When�� �a file has a ��n�a�m�e� �s�u�f�f�i�x� that�� �i�s� �n�o�t� a valid version number (e.g.,�� �myfile.~12x~), that file is inaccessible using {DSK}. - From {DSK} From SunOS -�%� myfile.~12x~ -Pathnames -1 - -A pathname on {DSK} is always case insensitive. When you specify a file, the {DSK} device handler first searches for the file with the specified name. If no such file is found, it then searches for a file with the same spelling but different case. -If a pathname on {DSK} has no directory specification, a tilde-slash combination (~/) is used, i.e., the NoteCards directory specification {DSK}foo is the equivalent of UNIX ~/foo. -{UNIX} Naming Conventions -1 - -For the {UNIX} device, file name translation takes place only on the directory. An initial left angle bracket (<) is treated as if it were an initial slash (/); both signify a path relative to the SunOS file system root directory; if there is no initial left angle bracket or slash, the directory is relative to the current working directory. Initially this is the working directory where NoteCards was started; you can change it using the CHDIR function, described below. Tilde (~) translates to your home directory. -For example, -{UNIX}myfile/abc - means the file abc on the ./myfile/ directory. -The {UNIX} device does not recognize version numbers, does not return them, and ignores them for recognition. -No case translation or recognition is done; upper and lower case letters are treated as distinct. -Examples: -{UNIX} Name From NoteCards File Name From SunOS -<foo>fee>bar.baz;1 /foo/fee/bar.baz;1 -<foo>fee/bar.;1 /foo/fee/bar.;1 -<foo/fee> /foo/fee/ -</foo/fee/> /foo/fee/ -/foo/fee/bar.~1~ /foo/fee/bar.~1~ -/foo/fee/ /foo/fee/ -In the first two examples the ;1 is treated as part of the file name, not the version number. Note in the last two examples that translation is not done. -Directories -1 - -In places where NoteCards expects a directory name, {UNIX} paths must end with a slash (/). -Directory Enumeration -1 - -You cannot use the wildcard character, asterisk (*), in subdirectories for either {DSK} or {UNIX} devices. For example, typing -{DSK}/users/x*/foo -into the FileBrowser prompt window will return -No files in group {DSK}<users>x*>foo.*;* -Enumeration of files in directories differs between {DSK} and {UNIX} devices. On the {DSK} device, a versionless file which has a link to the highest version file is not enumerated in a directory. -On the {UNIX} device, all files are enumerated in a directory. For instance, if the following SunOS files, linked with foo.c.~2~ exist -foo.c -foo.c.~1~ -foo.c.~2~ -the {DSK} directory enumeration, would look like this: -{DSK}/users/envos/foo.c;1 {DSK}/users/envos/foo.c;2 -The {UNIX} directory enumeration, on the other hand, would look like this: -{UNIX}/users/envos/foo.c {UNIX}/users/envos/foo.c.~1~ {UNIX}/users/envos/foo.c.~2~ -Directory Creation -1 - - {DSK} When you write a new file on {DSK}, if the directory named in a pathname does not exist, the {DSK} device handler creates the directory automatically. This feature is provided for compatibility with Xerox services. -If you try to connect to a nonexistent directory (using the Directory Connector tool), NoteCards beeps and prints the following message in the system prompt window -Not a valid directory name. - {UNIX} The {UNIX} device does not support such directory creation. An attempt to create a file on a nonexistent directory results in an error. NoteCards beeps and prints the following message in the system prompt window. -System call error: stat errno = 2 -No such file or directory. -Neither {UNIX} nor {DSK} support automatic directory deletion. To delete a directory you must use the SunOS C-Shell command rmdir. -Open File Limit -1 - -The number of simultaneously open {DSK} and {UNIX} files must fall within the SunOS limits for a process. For OS 3.4, this number of open files may be configured, with 30 as the maximum permissible number of open files per process. This means that it is not possible to have more than 30 files open for a process, minus whatever files NoteCards has open for its own use, at any one time in the NoteCards system. If you try to open too many files, the system call error number 24, -Too many open files -appears in the prompt window. -For OS 4.0, the maximum number of files/processes that can be open at one time is 64, unless your kernel is configured otherwise. -Default Pathname -1 - -If no path is given, the {DSK} device defaults to the user's home directory, tilde-slash (~/). The {UNIX} device defaults to the current working directory. This current working directory can be changed with the Directory Connector tool. Note that the current working directory is also used to resolve the interpretation of the period (.) and double period (..) specifications at the beginning of a {DSK} pathname. The current working directory is the directory you were in when you started NoteCards, not your connected directory in NoteCards. -2 - -File Attributes -1 - -This section describes how the various file attributes are treated by NoteCards on the Sun Workstation and what they translate to in SunOS. For more discussion of file attributes, see Chapter 14, Other Tools, for a description of the FileBrowser. -WRITEDATE and CREATIONDATE [File Attributes] -The date is reset to the current time whenever the contents of a file are modified. Since UNIX does not naturally support more than one date for file modification, the WRITEDATE and CREATIONDATE are treated identically by NoteCards, and by the {DSK} and {UNIX} devices. -TYPE [File Attribute] -Returns the TYPE property of files; normally either TEXT or BINARY. However, UNIX does not distinguish between TEXT and BINARY files. Normally, programs will infer the type by the file extension. If no file extension is given, the default file type TEXT is used. -SIZE [File Attribute] -Returns the file size. For compatibility with other NoteCards environments running on Xerox workstations and servers, the SIZE attribute is computed as the length of the file (in bytes) divided by 512 (rounded up). -2 - -File System Errors -1 - -Several types of errors may occur in the NoteCards file system. -When a remotely mounted file system or the NFS service is down, any attempt to access a file on the file system eventually results in a timeout error. The following error message is printed in the prompt window: -File access timed out -If the mounted device is mounted with the "hard" option, NoteCards continues to wait until the mounted device responds. During that time, user interrupts are not available. We recommend mounting remote file systems with the "soft" option. You can use the UNIX command /etc/mount to check the current mount options. -The following error messages may appear when there are NoteCards file errors: -Not owner -Device error: -Protection-violation -File-won't-open -Too-Many-Files-Open -File too large -File-System-Resources-Exceeded -Connectiom timed out -No-Such-Directory -Bad Host Name -Another type of error occurs occasionally when the file system prints an incorrect message such as -File not found -A more accurate console message appears, at the same time, in the prompt window. This message appears in the SunOS message form -System call error: open errno=13 Permission denied -See the UNIX Interface Reference Manual, Intro (2), for descriptions of all OS system call messages. - -[This page intentionally left blank] - -�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "4-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "4-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "4-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "4-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "4-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "4-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))������I�5���������������������������������������3���������������������������T���������2���������������������������������������2�x������������������������������������,�����������������������������������3�H�H� ������������������������T���������8���� �������������������������������������8��������8�������������������������������8���������8�������������������������������8��������8�������������������������������8���������8�������������������������������8��� ������8�������������������������������9����� ������8���������������������T���������9������������8���������������������T���������9�����������8���������������������T���������8��� �����8�������������������������������8��������h�������������������������������8��������h�������������������������������8��������P�������������������������������3����� �������������������������T���������>�����������h�������������������������������8��������8�h������������������������������>�����������h�������������������������������;��� ��������������������������������������8��������8�z������������������������������8��������8�h������������������������������6���������������������������������T���������6����� ���������������������������T���������5���������������������������������������8�����������������������������������������,�����������������������������������,��������������������������������������3�����2�������������������������T���������3������������������������������T���������9�����2�����������������������������T���������9�����������������������������������T���������9����������������������������������T���������8�����������������������������������������-�������������������������T���������-�������������������������T���������2�������������������������������������8��� ��������������������������������������6��������h��������������������T���������3�<�<�������������������������T���������<����������P���������������������T���������<���������h���������������������T���������6��� �����h��������������������T���������6������������h��������������������T���������6�����������h��������������������T���������8��� ��������������������������������������<����������P���������������������T���������<��� ������h���������������������T���������3�������������������������������T���������3������������������������������T���������5���������������������������������������,���"��������������������������������6��� ������������������������T���������2���������������������������������������2��� ����������������������������������2�������������������������������������5��� ������������������������������������-����������������������������T���������2��� ����������������������������������-��������������������T�������������-�����2�����������������������T���������-�����������������������������T���������,�����2���������������������������������,���������������������������������������2���������������������������������������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR������������������������ -��TITAN� ���������TITAN� ����������MODERN� ��������MODERN� ���������MODERN����������MODERN���������?�1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))� ����������MODERN� ���������TITAN� ���������TITAN� ���������MODERN� ���������TITAN� ����������MODERN� ��������������I����� HRULE.GETFN��MODERN� ��������������� -������I���3���� -������H����� HRULE.GETFN��MODERN� ��������������� -������H���3���� -������G������� -������G����� HRULE.GETFN��MODERN� ��������������� -������F������� -������F����� HRULE.GETFN��MODERN� ��������������� -������� ������E�������������E����� HRULE.GETFN��MODERN���������������������8������� -������C����� HRULE.GETFN��MODERN���������������������D�������������D����� HRULE.GETFN��MODERN��������������� -������?���K���� -���������n���� -������A����� HRULE.GETFN��MODERN���������������������B�������������B����� HRULE.GETFN��MODERN���������������������?���/���� -������� ������ -������� ���\���� -������=������� -������� ���v���� -������=������� -������2������� -������=���g���� -������� ������������� ������� -��� ���� �������������� ������� -������7��� ���� -�������������� -������������� ������������� ������������� ������7���t���� -������=���<���� -��������������������������� �������������� ��� -����������� �������������7���Q���� -������������� ������� -������� ������� ������� ������� ������� ��� -����������� ������� -������7������� -�������������� -������<���F���� -��������� -����������� -���������^���� -��������� ���� -������� ������� ������� ��� -����������� ������� -������������� -������������� -������������� -���������b���� -������<������ -������#����� HRULE.GETFN��MODERN���������������������%���#����������$����� HRULE.GETFN��MODERN���������������������?���W���� -������<��� ���� -������� ������ -������<������ -������<���)���� -������� ������� -������� ������� -������� ���e���� -��� -���� ���M���� -��� -���� ���;���� -�������������� -������������� -����������3���� ������� -������<������� -������������� -����������3���� ������� -������<���\���� -������<������� -��� -���� ������� -���������������� ���� ������� -������<���H���� -���������*������������������������������������<������� -������<������� -������������� -������������� ������� -���������?���� -������<���u���� -������<������� ������� -������� ������)������� ������� -������)������� ������� -������&������ -������&������� -������� ������� -������� �� ���� -������#����� HRULE.GETFN��MODERN���������������������%�������������$����� HRULE.GETFN��MODERN���������������������?������ -������6�������������5����� HRULE.GETFN��MODERN� ��������������������?���f���� -������=������� -������ -������� -���#��� -������� -��� ��� -������� -������=������� -���-��� -���*���� -������ -������=���'���� -������=������� -��� -��� -������� -������ -��� -���� -������ -������=������� -���3��� -������� -������ -������� -������6�������������5����� HRULE.GETFN��MODERN� �����������������������V���� -������9��2�� SKIO.GETFN.2��MODERN� ��������������� -��f�� SKIO.GETFN.2�������� -������4���/����������3�������������:��8R�� SKIO.GETFN.2��MODERN� ���������������������<���5����������1�������������0����� HRULE.GETFN��MODERN� ��������������������/���g���� -������/���� SKIO.GETFN.2�?�1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))� �����������������Y�� SKIO.GETFN.2��������������.���/����������-�������������,��<�� SKIO.GETFN.2�?�1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))� ���������������������+���5����������*������� -�������������&�������������!����� HRULE.GETFN��MODERN���������������������"�������������5����� HRULE.GETFN��MODERN���������������������?������� -������<��{���� -������(����� HRULE.GETFN��MODERN� ��������������� -������'������� ������� -������(���z���� -������(���!���� -������� ������� -������� ������� -������(��� -���� -��� ���� ���_���� -��� ���� ���]���� -��� ���� ���P���� -������(����� HRULE.GETFN��MODERN� ��������������� -������C����� HRULE.GETFN��MODERN��������������������� �������������D����� HRULE.GETFN��MODERN���������������������6���8����������5����� HRULE.GETFN��MODERN� ��������������������<������� -������6���6����������D����� HRULE.GETFN��MODERN���������������������?������ -������<������� -������<��2���� -������<���:���� -�������������� -������6���=����������5����� HRULE.GETFN��MODERN� ��������������������<������� -��������J���� -������������ -������������ -��������!���� -������� ���E���� -������A����� HRULE.GETFN��MODERN���������������������>���!����������B����� HRULE.GETFN��MODERN���������������������?��'���� -������<���k���� -������� ������� -������<��(���� -������������� -������� ������� -������� ���x���� -������� ������� -������� ���9���� -������������� -������� ������� -������� ���k���� -������� ������� -������<������ -������6�������������B����� HRULE.GETFN��MODERN� �������������� -������?���M���� -�������������� -�������������� -����������P���� -������<������� �������������� ��� ����������� �������������� �������������� ������<������� -��� ���������� -������6���+����������5����� HRULE.GETFN��MODERN� ��������������������7������� -������ -������� -������� ������� -������� ���o���� -��������� ���� ��������� ���� ������������� ������������� ������� -������7������� -������ -������� ���l���� -������� ���!���� -������� ������� -������7������� -������ -������� -������� ���,���� -������� ������� -������� ������� -������� ������� -������� ���B���� -������� ���A���� -������� ���8���� -������6�������������B����� HRULE.GETFN��MODERN� �������������� -������?������� -������� ���k���� -������7������� -������ -���)���� -������7������� -������ -������� -������7������� -������ -���_���� -������7������� -���)��� -������� -������ -���#���� -������7������� -������ -��� ��� ������ -������� -���%��� -������� -������ -������� -��� ���� ������� -������� ���,���� -��� ���� ������� -������������� -������� ���6���� -��� ���� ������� -������������� -������� ���M���� -��� ���� ������� -���������`���� -������� ������� -������� ������� -������� ���;���� -������� ������� -������� ��� -���� -��� -��� ������ -������� -������ -������� -������ -���!���� -������� ���T���� -������������� ����������� HRULE.GETFN��MODERN� �������������� ������?���E���� -������� ���H���� -������� ���;���� -������7������� -������ -���g���� -���������/���� ������� ������������� ������7������� -������ -������� -��� ���� ���"���� -���������S���� -���������/���� ������� ���������@���� ������7������� -������� ������� -������������� �������������� ������� -��� ���� ������� -���%���� ������7������ -���I���� -������� ������� -������������� -�������������� ������������� �������������� ������� -��� ���� ������� -������� ��� ���� -��� ���� ������� -������� ������� -��� ���� ������� -������� ������������� ������� -������������� -������ -������� -������������� ������� ��� ���� -��� ���� ������� -��� ���� ������������� -������� �������������� -�������������������� �������������� ��� ���� -��� ���� ������� -��� ���� ������� -������7������� -������ -������� -������� ������� -������������� -��� ���� ������� -��� ���� ������� -������� ������� -������� ��� ���� -��� ���� ������� -������� ������� -��� ���� ������� -��� ���� ��� ���� -��� ���� ������� -������� ������� -���������1���� -������� ���2���� -������������� -��� ���� ������� -��� ���� ������� -������� ������� -������� ��� ���� -��� ���� ������� -������� ������� -��� ���� ������� -������� ������� -������� ��� ���� -��� ���� ������� -���(���� ��� -���� -������� ������� -������7������� -������ -������� -������ -������� -������ -������� -������ -��� ���� -������ -������� ���#���� -������� ������� -������� ������������� -��� ���� ������� -��� ���� ������� -������ -������� -��� ���� ������� -��������� ���� ������5����� HRULE.GETFN��MODERN� �������������� ������?������� -������� ���:���� -������� ������� -������?������� -������� ���<���� -������� ���9���� -������� ������� -��� ���� ������� -������6�������������B����� HRULE.GETFN��MODERN� �������������� -������?������� -������� ������ -������� ���$���� -������� ���&���� -������<��� -���� -������� ������������� ������� -������������� -������� ������� -��� ���� ��� ���� -������� ������<������� -������� ������� ���c���� -������<���b���� -������<��� ���� -������� ���������2���� ���������&���� ��������� ���� ������������� -������� ������������� ���������"���� ������������� ������������� -��������� ��������������� HRULE.GETFN��MODERN� �����������������������4���� -������� ���"���� -������ -������� ����������� HRULE.GETFN��MODERN� �������������������� ���R���� -������� ������� -������� ��� ���� -������ ������� ������ ���/���� -������ ���)���� ������ ���4���� -������� ������� -������� ������� -������� ���n���� -������ ������� -������� ���k���� -��� ���� ������� -������ ������� ������� -������ ��� ���� ������� -������ ��� ���� ������� -������ ������� -������� ���/���� -���������3���� ������� -������ ������� -������� ���B���� -���������R���� ������� -������������� ������5����� HRULE.GETFN��MODERN� �������������� -������������� -������� ������� -������� ���;���� -������� ���u���� -������<������� -������)������� ������� ������������� -������� ������� -������� ������� -������)���"���� ������)������� ������� -������<������� -������� ������� -������� ���e���� -������� ������� -������6�������������B����� HRULE.GETFN��MODERN� �������������� -������?���"���� -������� ������� -������� ������ -������� ������)������� ������� -������)������� -������<������� -������6�������������B����� HRULE.GETFN��MODERN� �������������� -������<��#���� -������C����� HRULE.GETFN��MODERN��������������������� �������������D����� HRULE.GETFN��MODERN���������������������<������� -���������,����������� -������<������� -��� ���� ������� -��� ���� ���2���� -������� ������� -������� ��� -���� -�������������������<��� ���� -������� ���$���� -������� ������� -������� ���.���� -������� ������� -������� ���|���� -������� ��� ���� -�������������������<���{���� -������� ���[���� -������!����� HRULE.GETFN��MODERN���������������������5�������������5����� HRULE.GETFN��MODERN���������������������?���@���� -������<������� -������)������� ������<������ -��� ���� ���%���� -������<���O���� -������)��� ���� ������)������� ������)������� ������)������� ������)������� ������)������� ������)������� ������)������� ������)������� ������)��� -���� ������� -������<���d���� -������)������� ������� -������<������� -������)���5���� ������<������� -����������>���� -������������� -������@���%���� -������;�������������;�������;z \ No newline at end of file diff --git a/docs/user-guide-v1.2/from_envos/05-NOTECARDS-BASICS.TEDIT b/docs/user-guide-v1.2/from_envos/05-NOTECARDS-BASICS.TEDIT deleted file mode 100644 index 0e1e29c..0000000 Binary files a/docs/user-guide-v1.2/from_envos/05-NOTECARDS-BASICS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/06-BUILDING-NC-STRUCTURES.TEDIT b/docs/user-guide-v1.2/from_envos/06-BUILDING-NC-STRUCTURES.TEDIT deleted file mode 100644 index 67593d4..0000000 Binary files a/docs/user-guide-v1.2/from_envos/06-BUILDING-NC-STRUCTURES.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/07-THE-USER-INTERFACE.TEDIT b/docs/user-guide-v1.2/from_envos/07-THE-USER-INTERFACE.TEDIT deleted file mode 100644 index 7185406..0000000 Binary files a/docs/user-guide-v1.2/from_envos/07-THE-USER-INTERFACE.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/08-LINKS.TEDIT b/docs/user-guide-v1.2/from_envos/08-LINKS.TEDIT deleted file mode 100644 index d27a6f7..0000000 Binary files a/docs/user-guide-v1.2/from_envos/08-LINKS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/09-CARDS-&-BANNERS.TEDIT b/docs/user-guide-v1.2/from_envos/09-CARDS-&-BANNERS.TEDIT deleted file mode 100644 index b128004..0000000 Binary files a/docs/user-guide-v1.2/from_envos/09-CARDS-&-BANNERS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/10-USER-CARDS.TEDIT b/docs/user-guide-v1.2/from_envos/10-USER-CARDS.TEDIT deleted file mode 100644 index 71b4314..0000000 Binary files a/docs/user-guide-v1.2/from_envos/10-USER-CARDS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/11-SYSTEM-CARDS.TEDIT b/docs/user-guide-v1.2/from_envos/11-SYSTEM-CARDS.TEDIT deleted file mode 100644 index d4819bb..0000000 Binary files a/docs/user-guide-v1.2/from_envos/11-SYSTEM-CARDS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/12-MENUBOX-ICON.TEDIT b/docs/user-guide-v1.2/from_envos/12-MENUBOX-ICON.TEDIT deleted file mode 100644 index 9b23365..0000000 Binary files a/docs/user-guide-v1.2/from_envos/12-MENUBOX-ICON.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/13-PARAMETERS.TEDIT b/docs/user-guide-v1.2/from_envos/13-PARAMETERS.TEDIT deleted file mode 100644 index f638005..0000000 Binary files a/docs/user-guide-v1.2/from_envos/13-PARAMETERS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/14-FILEBROWSER.TEDIT b/docs/user-guide-v1.2/from_envos/14-FILEBROWSER.TEDIT deleted file mode 100644 index 14a8b95..0000000 Binary files a/docs/user-guide-v1.2/from_envos/14-FILEBROWSER.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/15-OTHER-TOOLS.TEDIT b/docs/user-guide-v1.2/from_envos/15-OTHER-TOOLS.TEDIT deleted file mode 100644 index 20f0547..0000000 Binary files a/docs/user-guide-v1.2/from_envos/15-OTHER-TOOLS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/16-PRINTING.TEDIT b/docs/user-guide-v1.2/from_envos/16-PRINTING.TEDIT deleted file mode 100644 index 4f76711..0000000 Binary files a/docs/user-guide-v1.2/from_envos/16-PRINTING.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/17-PROBLEMS-&-ERRORS.TEDIT b/docs/user-guide-v1.2/from_envos/17-PROBLEMS-&-ERRORS.TEDIT deleted file mode 100644 index 92586ad..0000000 Binary files a/docs/user-guide-v1.2/from_envos/17-PROBLEMS-&-ERRORS.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/APP-A-NOTEFILE-CONCEPTS.TEDIT b/docs/user-guide-v1.2/from_envos/APP-A-NOTEFILE-CONCEPTS.TEDIT deleted file mode 100644 index 209d3c3..0000000 --- a/docs/user-guide-v1.2/from_envos/APP-A-NOTEFILE-CONCEPTS.TEDIT +++ /dev/null @@ -1,90 +0,0 @@ -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -APPENDIX A. NOTEFILE CONCEPTS -1 - -APPENDIX A. NOTEFILE CONCEPTS -1 - - -APPENDIX A NOTEFILE CONCEPTS -6 - -This document provides a brief explanation of the structure of notefiles. It also describes how checkpointing, aborting, and recovering a notefile after a crash work. Finally, it describes the use of Inspect & Repair to repair a notefile with inconsistent links. For additional information see Appendix B, The Notefile Inspector. -Note: The information in this appendix was copied whole from the documentation for a prerelease of NoteCards and has not yet been updated for this release. As such, it may be inaccurate in places. -2 - -Background Concepts -1 - -Unique identifiers: UIDs -1 - -All objects in NoteCards (i.e., cards, links, notefiles) are assigned a unique identifier called a UID. Each UID is a 112-bit number that is guaranteed to be unique across all time and space. UIDs are used in many places in NoteCards as keys for indexing and retrieving cards, links, and notefiles. -Card parts -1 - -For storage purposes a note card is decomposed into 4 independent parts: contents, title, property list, and links. Each of these parts is stored separately in the data area of the notefile. This is discussed in the Notefile Structure section below. When a card is saved, only those card parts that have changed are rewritten in the notefile. -The contents of the card are stored on the notefile in a manner appropriate to its type. Thus a Text card's content is a text stream and is written on the notefile exactly the way TEdit writes out text streams (i.e., text followed by "looks" information). In contrast, all titles are stored as strings and all property lists as standard Lisp lists. Storage of Links is described in Section 4 below. -2 - -Notefile Structure: index and data areas -1 - -A notefile consists of three parts, a header, an index, and a data area. The header and the index are fixed in size for each notefile. The data area follows the index area and grows as cards are added to or modified in the notefile. -The notefile header contains the following information about the notefile: its UID, a number identifying its format, the checkpoint pointer, the size of the index, and a pointer to the next available index entry. If the notefile header is destroyed, it cannot be automatically reconstructed. Careful hand manipulation of the notefile by a NoteCards wizard is required to recover a notefile with a bad header. -The structure of the index and data area is shown in Figure A-1 . -The index contains a fixed number of index entries. Each index entry that is in use, contains information for one of the cards in the notefile. Specifically, an index entry contains 5 fields: a status character, the card's UID, and 4 pointers. The status character specifies whether the index entry is free (not in use) or contains information for an active or a deleted card. If the index entry is not free, the UID field contains the UID of the card refered to by this index entry and the four pointer fields contain the location in the data area of the 4 parts of its card: contents, title, links and property list. -The number of index entries is fixed at notefile creation time. The default is 1000 entries. The number of index entries is automatically doubled by the notefile compactor if 75% of the entries are used. The compactor also frees (i.e., makes unused) all of the index entries that refer to deleted cards. In normal operation, NoteCards prints a warning whenever more than 90% of the index entries in a notefile are used. At this point, the notefile should be compacted to increase the index size. -The data area contains the actual information about the card. Whenever you change, say, the title of a card, the new title is written at the end of the data area. The title pointer in the card's index entry is then updated to point to this new location in the data area. Thus, in general, a notefile's data area grows every time any part of any card is changed. -The old information, now somewhere in the middle of the data area, is not removed. However, it is no longer directly accessible because there is no index entry that points to it. Thus, for most purposes this old information can be considered "dead space" in the notefile. The notefile compactor rewrites the notefile, eliminating all such dead space. -((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (73 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (LINE 18.0 15) NIL LAST (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1.0 NIL)) ((0.168 152.0 (PRI 1)) (BOX (240.0 16.0 168.0 304.0) (ROUND 1 BLACK) NIL 1.0 (NIL NIL NIL))) ((0.024 84.0 (PRI 8)) (TEXTBOX (240.0 296.0 168.0 24.0) ("Notefile Header") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 302.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 37)) (TEXTBOX (240.0 144.0 96.0 32.0) ("Card A -" "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 160.0 42 12) (260.0 148.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 248.0 168.0 24.0) ("Index Entry #2") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 254.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 272.0 168.0 24.0) ("Index Entry #1") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 278.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 96.0 (PRI 48)) (TEXTBOX (40.0 200.0 192.0 24.0) (" Active: UID: | | | | ") 1.0 (LEFT CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((42.0 206.0 203 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 176.0) (408.0 . 176.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 175.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 176.0 168.0 24.0) ("Index Entry #N") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((275.0 182.0 98 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 200.0) (408.0 . 200.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 199.0 170.0 2.0) NIL)) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 200.0 168.0 24.0) ("...") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((313.5 206.0 21 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.024 84.0 (PRI 48)) (TEXTBOX (240.0 224.0 168.0 24.0) (" Index Entry #3") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((271.5 230.0 105 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 248.0) (408.0 . 248.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 247.0 170.0 2.0) NIL)) ((0.032 48.0 (PRI 41)) (TEXTBOX (240.0 80.0 96.0 32.0) ("Card A -" "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 96.0 42 12) (270.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 84.0 (PRI 34)) (WIRE ((240.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 111.0 170.0 2.0) NIL)) ((0.0 4.0 (PRI 35)) (WIRE ((408.0 . 112.0) (408.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (407.0 111.0 2.0 2.0) NIL)) ((0.032 36.0 (PRI 42)) (TEXTBOX (336.0 80.0 72.0 32.0) ("Card B -" "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 96.0 42 12) (354.5 84.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 16.0 (PRI 36)) (WIRE ((312.0 . 144.0) (312.0 . 112.0)) (ROUND 1 BLACK) NIL NIL 1.0 (311.0 111.0 2.0 34.0) NIL)) ((0.032 36.0 (PRI 39)) (TEXTBOX (240.0 112.0 72.0 32.0) ("Card A -" "Links") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((251.5 128.0 49 12) (258.5 116.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 48.0 (PRI 31)) (WIRE ((240.0 . 144.0) (336.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 143.0 98.0 2.0) NIL)) ((0.0 40.0 (PRI 33)) (WIRE ((328.0 . 144.0) (408.0 . 144.0)) (ROUND 1 BLACK) NIL NIL 1.0 (327.0 143.0 82.0 2.0) NIL)) ((0.032 48.0 (PRI 40)) (TEXTBOX (312.0 112.0 96.0 32.0) ("Card B -" "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((339.0 128.0 42 12) (332.0 116.0 56 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.032 36.0 (PRI 38)) (TEXTBOX (336.0 144.0 72.0 32.0) ("Card A -" "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 160.0 42 12) (354.5 148.0 35 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL))) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 272.0) (408.0 . 272.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 271.0 170.0 2.0) NIL)) ((0.0 84.0 (PRI 49)) (WIRE ((240.0 . 296.0) (408.0 . 296.0)) (ROUND 1 BLACK) NIL NIL 1.0 (239.0 295.0 170.0 2.0) NIL)) ((0.0 48.0 (PRI 53)) (WIRE ((144.0 . 208.0) (144.0 . 160.0) (240.0 . 160.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (143.0 159.0 98.0 50.0) (NIL ((240.0 . 160.0) (227.63626 . 155.98277) (227.63626 . 164.01723))))) ((0.0 4.0 (PRI 55)) (WIRE ((144.0 . 208.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 15.0) T) NIL 1.0 (143.0 207.0 2.0 2.0) (NIL NIL))) ((0.0 56.0 (PRI 56)) (WIRE ((168.0 . 208.0) (168.0 . 96.0) (240.0 . 96.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (167.0 95.0 74.0 114.0) (NIL ((240.0 . 96.0) (227.63626 . 91.98278) (227.63626 . 100.01722))))) ((0.0 40.0 (PRI 57)) (WIRE ((200.0 . 208.0) (200.0 . 128.0) (240.0 . 128.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (199.0 127.0 42.0 82.0) (NIL ((240.0 . 128.0) (227.63626 . 123.98278) (227.63626 . 132.01723))))) ((0.032 36.0 (PRI 60)) (TEXTBOX (336.0 16.0 72.0 32.0) ("Card D -" "Title") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((351.0 32.0 42 12) (354.5 20.0 35 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 84.0 (PRI 58)) (TEXTBOX (240.0 48.0 168.0 32.0) ("Card B -" "Contents") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((303.0 64.0 42 12) (296.0 52.0 56 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.032 48.0 (PRI 59)) (TEXTBOX (240.0 16.0 96.0 32.0) ("Card A -" "Prop" "List") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((267.0 38.0 42 12) (274.0 26.0 28 12) (274.0 14.0 28 12)) BLACK (ROUND 1 BLACK) NIL (NIL NIL NIL))) ((0.0 88.0 (PRI 61)) (WIRE ((224.0 . 208.0) (224.0 . 32.0) (240.0 . 32.0)) (ROUND 1 BLACK) (NIL (LINE 18.0 13.0)) NIL 1.0 (223.0 31.0 18.0 178.0) (NIL ((240.0 . 32.0) (227.63626 . 27.98278) (227.63626 . 36.01722))))) ((0.05 12.0 (PRI 62)) (TEXT (136.0 . 240.0) ("Index Entry for Card A") 1.0 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((59.0 237.0 154.0 12.0)) BLACK)) ((0.041 44.0 (PRI 71)) (GROUP (48.0 72.0 88.0 41.0) (((0.05 12.0 (PRI 65)) (TEXT (88.0 . 104.0) ("Legend") 1.0 (CENTER BASELINE) (GACHA 10 (BOLD REGULAR REGULAR)) ((67.0 101.0 42.0 12.0)) BLACK)) ((0.024 44.0 (PRI 67)) (TEXTBOX (48.0 72.0 88.0 24.0) ("Dead Space") 1.0 (CENTER CENTER) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((57.0 78.0 70 12)) BLACK (ROUND 1 BLACK) NIL (32800 NIL NIL)))) (96 . 96))) ((0.061 142.0 (PRI 72)) (GROUP (414.0 14.0 61.0 284.0) (((0.0 4.0 (PRI 21)) (WIRE ((416.0 . 296.0) (424.0 . 296.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 60.0 (PRI 22)) (WIRE ((424.0 . 296.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 23)) (WIRE ((416.0 . 176.0) (424.0 . 176.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 24)) (WIRE ((424.0 . 240.0) (432.0 . 240.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 25)) (TEXT (440.0 . 232.0) ("Index" "") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 235.0 35.0 12.0) (440.0 223.0 0.0 12.0)) BLACK)) ((0.0 80.0 (PRI 26)) (WIRE ((424.0 . 176.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 27)) (WIRE ((416.0 . 16.0) (424.0 . 16.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.0 4.0 (PRI 28)) (WIRE ((424.0 . 96.0) (432.0 . 96.0)) (ROUND 2.0 BLACK) NIL NIL 1.0 NIL NIL)) ((0.05 12.0 (PRI 30)) (TEXT (440.0 . 96.0) ("Data " "Area") 1.0 (LEFT BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((440.0 99.0 35.0 12.0) (440.0 87.0 28.0 12.0)) BLACK))) (440 . 160)))) -(37.0 9.0 439.0 330.0) -1.0 -8 - -Figure A-1. The structure of a notefile. -As long as the notefile has not been compacted, all the old information can be accessed (and made to be "current") via the notefile Inspect and Repair facility. Inspect and Repair does this by ignoring the index and parsing the entire data area to produce a listing of all the information (both current and old) about a card that is stored on the data area. See the Inspect and Repair manual for more information. -2 - -Notefile Checkpointing -1 - -As long as a notefile is open, its index area is cached in memory. When a card part is saved, the card part's information is written to the end of the data area but the card's actual index entry on the notefile is not updated with this new location. Instead, the appropriate pointer in the card's in-memory index entry is updated. Thus, the index in the notefile continues to point to the old information in the data area, while the in-memory index points to the new information. -Thus while a notefile is open, its current state is distributed between the actual notefile and information cached in memory. The current index is cached in memory. For cards open on the screen (or cached in memory from the programmer's interface), the "current" card part information is contained in an in-memory cache. For all other cards, the current information is contained in the data area of the notefile pointed to by the in-memory index entry. -If a machine crashes while a notefile is open, the information cached in memory is lost. A crash not only discards changes made to cards on the screen, but its also leaves the information stored on the notefile in an inconsistent state. For example, the index on the notefile may point to old information in the data area. This occurs because the new information (e.g., a new title) is written to the data area but only the in-memory index pointers (which are lost in the crash) have been updated to point to the new information. -Checkpointing forces all of the in-memory information to be written onto the notefile. Specifically, checkpointing causes all open cards to be saved and the in-memory index to be written to the notefile's index area. Thus, immediately after checkpointing, the notefile itself contains its current (and consistent) state. If the machine were to crash at this point, no information would be lost and the notefile would be consistent. -Checkpointing also writes a checkpoint pointer onto the notefile header. The checkpoint pointer contains the location of the end of the data area (i.e., the end of the notefile) at the time the checkpoint is done. -As the notefile is used after the checkpoint, information is written in the data area past the checkpoint pointer but only the in-memory index entries are updated to point to this information. The on-file index entries still point to the information in the data area before the location referenced by the checkpoint pointer. Thus, a consistent notefile can be constructed from the index area and all of the information in the data area located before the checkpoint location. This is essentially the notefile as it was at the time of the last checkpoint. (Note: one small exception is that changes to a card's size on the screen are actually written in the middle of the data area rather than at the end. Thus, truncating a notefile to its checkpoint location cannot "undo" the reshaping of a card.) -When opening a notefile after a crash, the system will insure that the notefile is in a consistent state. It does so by truncating the data area to the last checkpoint location, saving the truncated information if requested by the user. This leaves the notefile in the state it was during the last checkpoint before the crash. -Aborting a notefile does the same thing. It truncates the data area to the last checkpoint location, thereby eliminating all changes made to the notefile since the last checkpoint. It also discards the in-memory index. Thus, the notefile is left in the exact state it was after the last checkpoint. -Finally, note that notefile Close forces a checkpoint. Therefore, aborts and recovery after crashes actually restore the NoteFIle to its state as of the last user-initiated checkpoint or close. - -2 - -Storing links and reparing notefiles with inconsistent links -1 - -The links card part is divided into three subcomponents: to-links, from-links, and global links. The to-links is a list of all links whose Source is the given card (i.e., that point from the card to some other card). The from-links is a list of links whose Destination is the given card (i.e., that point from some other card to the given card). Finally, the global links is a subset of the to-links that includes only the Global links originating in the given card. -Given this scheme, every link is stored on the notefile in three different places. First, if the link is Local it is stored inside the link icon which in turn is inside the content part of the link's source card. If the link is global, it is stored in the global links subpart of its source card. Second, the link is stored in the to-links list of its source card. Third, the link is stored in the from-links list of its destination card. -These three records of the same link occasionally get out of synch, resulting in an inconsistent notefile. There are a number of symptoms of such inconsistency. For example, the ShowLinks display for card may indicate that the card is a destination for a link from some source card X while the ShowLinks display for X does not include a ToLink to that destination card. Occasionally, inconsistent links will also result in link icons that contain the words "DELETED" or "FREE" when displayed on the screen. This usually means that the card at one end of a link was deleted, but somehow the links of the card at the other end were not updated. Such link icons cause NoteCards to break when you try to follow them. -One function of the NoteCards Inspect & Repair facility is to resynchronize the three records for all links in the notefile. The inspector's third phase rebuilds the links as follows. First it removes all to- and from-links for every card. Then it reads the contents for each card and recreates to-links and from-links by looking at the links found inside the link icons in the card's content and in its global links list. In addition, the links rebuilder phase of the notefile inspector can rebuild filebox contents from cards pointed to by the filebox, and the set of all link types from the list of all links. - - -[This page intentionally left blank] -�����(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "A-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "A-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))�������-��������������������T�������������,�������������������������������������-����������������������������T���������-�����2�����������������������T���������-�����������������������������T���������-����������������������������T���������,�����������������������������������3�����������������������������T���������-���������������������������T���������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR�������������������,������������������������������������������������MODERN� ���������MODERN����������MODERN� ���������MODERN� ���������MODERN����������MODERN� �������������� -����� HRULE.GETFN��MODERN� ��������������������� -���3���������� ����� HRULE.GETFN��MODERN� ��������������������� ���3���������� ������������� ����� HRULE.GETFN��MODERN� ��������������������� ������������� ����� HRULE.GETFN��MODERN� ���������������������������������� ����� HRULE.GETFN��MODERN��������������������������������������s���������������������������� HRULE.GETFN��MODERN��������������������������������������� HRULE.GETFN��MODERN��������������������������������������� HRULE.GETFN��MODERN� ����������������������.������������� ��������������� HRULE.GETFN��MODERN� ����������������������Z��������������������������� HRULE.GETFN��MODERN������������������������)��������������� HRULE.GETFN��MODERN�������������������������������������������������B������������p������������������������m������������d������������ �� SKIO.GETFN.2��MODERN� ������������������������*��������������������������� HRULE.GETFN��MODERN��������������������������������������� HRULE.GETFN��MODERN�������������������������������������������������������������������������������������������������� �������������������������J������������.������������������������������������������������������� HRULE.GETFN��MODERN������������������������=��������������� HRULE.GETFN��MODERN������������������������������������������������������� ��������������������������������<��������������������������%������������������K�z \ No newline at end of file diff --git a/docs/user-guide-v1.2/from_envos/APP-B-NOTEFILE-INSPECTOR.TEDIT b/docs/user-guide-v1.2/from_envos/APP-B-NOTEFILE-INSPECTOR.TEDIT deleted file mode 100644 index 039ce96..0000000 Binary files a/docs/user-guide-v1.2/from_envos/APP-B-NOTEFILE-INSPECTOR.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/APP-C-INITIALIZATION.TEDIT b/docs/user-guide-v1.2/from_envos/APP-C-INITIALIZATION.TEDIT deleted file mode 100644 index e21ec65..0000000 Binary files a/docs/user-guide-v1.2/from_envos/APP-C-INITIALIZATION.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/APP-D-CHECKSUM.TEDIT b/docs/user-guide-v1.2/from_envos/APP-D-CHECKSUM.TEDIT deleted file mode 100644 index 09bc284..0000000 Binary files a/docs/user-guide-v1.2/from_envos/APP-D-CHECKSUM.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/APP-G-GLOSSARY.TEDIT b/docs/user-guide-v1.2/from_envos/APP-G-GLOSSARY.TEDIT deleted file mode 100644 index a27fa01..0000000 Binary files a/docs/user-guide-v1.2/from_envos/APP-G-GLOSSARY.TEDIT and /dev/null differ diff --git a/docs/user-guide-v1.2/from_envos/APP-Z-PROG-INTERFACE.TEDIT b/docs/user-guide-v1.2/from_envos/APP-Z-PROG-INTERFACE.TEDIT deleted file mode 100644 index c94f2c0..0000000 --- a/docs/user-guide-v1.2/from_envos/APP-Z-PROG-INTERFACE.TEDIT +++ /dev/null @@ -1,858 +0,0 @@ -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -1 - -ENVOS NOTECARDS 1.1, BETA RELEASE OF DOCUMENTATION -NOTECARDS PROGRAMMER'S INTERFACE -1 - -NOTECARDS PROGRAMMER'S INTERFACE -1 - - -NOTECARDS -PROGRAMMER'S INTERFACE -6 - -2 - -Introduction -1 - -This document describes a facility whereby users with some programming know-how can obtain a software interface to NoteCards in Interlisp. In this way, they can create and modify Notefiles, cards and links under program control. -The functions described below are divided into 8 groups: -1. NoteFile Creation and Access -2. Creating and Accessing NoteCard Types -3. Creating NoteCards and FileBoxes -4. Accessing NoteCards and FileBoxes -5. Creating and Accessing Links -6. Creating and Accessing Link Labels -7. Customizing the NoteCards Interface -8. Handy Miscellaneous Functions -Information for Prerelease Users -1 - -The two main changes to NoteCards from 1.2 are multiple open notefiles and cards stored as datatypes rather than atoms. The former change probably has a greater effect on users of the programmer's interface. Many functions now take a NoteFile argument that didn't before. In addition, many functions have been renamed or dropped altogether. Though we attempted to preserve some backward compatibility by keeping around old function names, we strongly recommend that you go over all your code and bring it up to date with this documentation. (For example, the whole notion of "Substance types" has been removed along with the Substance fns, etc.) -Other changes to watch out for include: traversal of NoteCards structures ala browsers; copying of groups of cards and their "internal" links across notefiles; new <quietFlg> args to many of the notefile access functions; undisplaying cards without uncaching; case insensitivity in NCP.TitleSearch; and registering of cards by key in the new notefile hash table. There are lots of handy new functions like NCP.ChangeCardTypeFields, NCP.CreateCardTypeStub, NCP.CollectCards, NCP.CopyCards, NCP.ListOfOpenNoteFiles, NCP.NumCardSlotsRemaining, NCP.ExpandNoteFileIndex, NCP.NoteFileMenu, NCP.NoteFileProp, NCP.WhichNoteFile, NCP.CreateLink, NCP.CardUserDataProp, NCP.DisplayedCards, NCP.RegisterCardByName, NCP.LookupCardByName, NCP.ListRegisteredCards, NCP.OpenCard, NCP.CloseCards, NCP.CacheCards, NCP.UncacheCards, NCP.DisplayCard, NCP.UndisplayCards, NCP.AskYesOrNo, NCP.CardNeighbors, NCP.MapCardsOfType, NCP.MapLinksOfType. -1. NoteFile Creation and Access -1 - -Note that some of the following accept filename arguments, some take notefile object arguments and some can take either. In any case, if the function accepts a filename, the .notefile suffix will be attached if not already present. -(NCP.CreateNoteFile <Filename><quietFlg>) -1 - -If <Filename> is not already a notefile, then creates a notefile with name "<Filename>.NoteFile", and returns this filename which can later be passed to NCP.OpenNoteFile. If <quietFlg> is non-nil, then communicative messages are held to a minimum. -(NCP.OpenNoteFile <NoteFileOrFilename> <don'tCreateFlg> <convertw/oConfirmFlg> <quietFlg> <menuPosition> <readOnlyFlg> <Don'tCreateInterfaceFlg>) -1 - -<NoteFileOrFileName> can be either a notefile object or a file name. Opens notefile, returning resultant notefile object if successful, else nil. If <don'tCreateFlg> is non-nil, then a new file is not created if the given one doesn't exist. If <convertw/oConfirmFlg> is non-nil, then if needed, the file is converted to the most recent format without user confirmation. If <quietFlg> is non-nil, then communicative messages are held to a minimum. If <menuPosition> is non-nil, then it should be a position at which to bring up the notefile main menu icon. If <readOnlyFlg> is non-nil, then the notefile is opened for read only. If <Don'tCreateInterfaceFlg> is non-nil, then don't bring up a control panel menu for the notefile. -(NCP.CloseNoteFiles <NoteFilesOrT> <quietFlg>) -1 - -If <NoteFilesOrT> is a list (or a single notefile), then close all open notefiles on that list (or the single one). If T, then close all open notefiles. If <quietFlg> is non-nil, then communicative messages are held to a minimum. -(NCP.CheckpointNoteFiles <NoteFilesOrT> <quietFlg>) -1 - -If <NoteFilesOrT> is a list (or a single notefile), then checkpoint all open notefiles on that list (or the single one). If T, then checkpoint all open notefiles. In case of a system crash or abort, the notefile can be recovered to the last checkpoint. Note that closing a notefile does a checkpoint. <quietFlg> non-nil will keep messages to a minimum. -(NCP.AbortNoteFiles <NoteFilesOrT> <Don'tConfirmFlg> <quietFlg>) -1 - -If <NoteFilesOrT> is a list (or a single notefile), then abort all open notefiles on that list (or the single one). If T, then abort all open notefiles.Aborting a notefile closes it and scraps all work since last checkpoint or successful close. <quietFlg> non-nil will keep messages to a minimum. <Don'tConfirmFlg> non-nil will prevent the asking of user for confirmation before throwing away work since last checkpoint. -(NCP.CompactNoteFile <fromNoteFileOrFilename> <toFilename> <inPlaceFlg>) -1 - -<fromNoteFileOrFilename> can be either a notefile or a file name. It is compacted, usually recovering space. If <inPlaceFlg> is non-nil, then <toFilename> is ignored and the compaction is in place. Will close <fromNoteFileOrFilename> if it's currently open. -(NCP.CompactNoteFileInPlace <NoteFileOrFilename>) -1 - -Compacts <NoteFile> in place, replacing the old version. Equivalent to (NCP.CompactNoteFile <NoteFile> NIL T). -(NCP.NumCardSlotsRemaining <NoteFile>) -1 - -Returns the total number of cards that can be created in <NoteFile> before its index must be expanded. <NoteFile> should be an open notefile. -(NCP.ExpandNoteFileIndex <NoteFile> <numNewCardSlots> <QuietFlg>) -1 - -Causes <NoteFile> (which should be a valid notefile) to be checkpointed and then have its index expanded in place to make room for <num NewCardSlots> new cards. If <NoteFile> is currently closed, then it is opened, expanded and then closed immediately. -(NCP.RepairNoteFile <NoteFileOrFilename> <readSubstancesFlg>) -1 - -Runs the Inspect&Repair facility on <NoteFileOrFilename>. It must *not* be currently open. If <readSubstancesFlg> is non-nil, then the inspector will check the contents of card substances rather than the simpler check of substance length. This means the first phase of the inspector takes MUCH longer so use with care. See the documentation on the Inspect&Repair facility for more information. -(NCP.DeleteNoteFile <NoteFileOrFilename> <Don'tConfirmFlg> <quietFlg>) -1 - -Deletes the <NoteFileOrFilename> notefile. Must not be open. <quietFlg> non-nil will keep messages to a minimum. <Don'tConfirmFlg> non-nil will prevent the asking of user for confirmation before deleting. -(NCP.NoteFileFromFileName <Filename>) -1 - -Returns the notefile corresponding to Filename if any, else nil. -(NCP.FileNameFromNoteFile <NoteFile>) -1 - -Returns the full name of the given notefile. -(NCP.NoteFileMenu <NoteFile>) -1 - -Returns the main menu for <NoteFile>. -(NCP.OpenNoteFileP <NoteFile>) -1 - -Returns non-NIL if <NoteFile> is a currently open notefile. -(NCP.ValidNoteFileP <NoteFile>) -1 - -Returns non-NIL if the notefile is a valid notefile. -(NCP.NoteFileClosingP <DontCheckForAbortFlg >) -1 - -Returns non-NIL if it has been called from under a close notefile operation. If DontCheckForAbortFlg is NIL, aborting the notefile counts as closing it. If DontCheckForAbortFlg is non-NIL, aborting the notefile is considered a different operation, and the function will return NIL. -(NCP.ListOfOpenNoteFiles) -1 - -Returns a list of all currently open notefiles. -(NCP.CheckOutNoteFile <fromFilename> <toFilename>) -1 - -Copies <fromFilename> to <toFilename> unless <fromFilename> is locked. If successful, creates a lock file in <fromFilename>'s directory. The name of the lock file is formed by concatenating the atom LOCKFILE onto <fromFilename>. -(NCP.CheckInNoteFile <fromFilename> <toFilename>) -1 - -Check lock file for <toFilename>. If none, then just copy <fromFilename> to <toFilename>. If there is one and it's owned by us, then do the copy and remove the lock file. If there is a lock file owned by someone else or if date of <toFilename> is more recent than date of lock file, then print a message and do nothing. -2. Creating and Accessing NoteCard Types -1 - -These functions give the user access to the NoteCard user-defined types facility. (In the functions below, card type arguments should be atoms.) For example, one of the simplest card types commonly created is what we call a "form" card. At card create time, it adds certain predefined text to the card's contents. Otherwise, form cards behave just like Text cards. Figure 1 shows the code needed to implement a sample form card type. For a full explanation of this facility, see the NoteCards Types Mechanism documentation. ------------------------------------------------------- -FooForm.AddFooFormType -������q����������������������������������������������������������������������������������������������������������������@!�"8����������������������������������������������@QDE�2����������������������������������������������@QDE�2������������������������������D�A�HC p D@QSE�*������������������������������[I@$"8Ĉ@R$H*�����������������������������i �D@$"(@@R$O&�����������������������������I��DX$" H@@R$H&�����������������������������I��DA%" |@|Lj"8������������������������������I�CƐp"@����������������������������������������� �������������������������������������������������@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� >@����@����������������������������������������Y S : S������������������������������!pi tI I$Nt%$�����������������������������"IGOO $HD'����������������������������� IDHH $HD$������������������������������ ��I8 Cg8GCÐ��������������������������������������������������� �����������������������������������������������������1���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!ǀ�����|���"8�>����������������������������!$@���@����"D!��� ����������������������������A$@,8qGa"D!� 8@�������������������������AR@2D$�& "D!<DP@�������������������������AR |x""D!� DP@�������������������������A2$� @H"Q�"D!� DP@�������������������������A2$ D$H&Q "D!� DP@�������������������������! 8xaÇ!a8! 8P������������������������� �������������!�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qπ>������������������������������������������������!������������������������������������������������ !�8@��������������������������������������������� !�DP@��������������������������������������������� !�| @��������������������������������������������� !�@ @��������������������������������������������� !�DP@���������������������������������������������p8`��������������������������������������������� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������qπ��|����D����������������������������!����@�����l����������������������������� !� C�@p�lq! ��������������������������� !� O�xL�T B'��������������������������� !� �@H�Ty��������������������������� !� �@H�TB��������������������������� !� DH�@HT"$���������������������������p#�@pDy��������������������������� ����������������������������������������������������������������������� ��������������������������������������������������������������������������������������������������������� @��������������������������qπ ����@��|p� ��������������������������!������@��@� �������������������������� !� Ł"8hB"@�������������������������� !� "&A"DC%H"x0�������������������������� !� !A"|B%O"@�������������������������� !� DA@B%H"@�������������������������� !� "&ADB%H&@0��������������������������p!Ł8h$G@ �������������������������� ������������������ ����������������������������������0���������� @���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� -FooForm.MakeFn -��������������������������������������������������������������@!�8�� �8� ��p�������������������������������@QDE�D�� �� ���������������������������������@QDE�Dqa<p#X$ -�����������D�A�HC p }��@QSE�@ `H"d'�����������[I@$"8A��@R$H@y HD$����������i �D@$"y��@R$OD dHDD����������I��DX$" ��@R$HD`dH"dD����������I��DA%" E��|Lj8y p#X -�����������I�CƐp"8����������������������@���������������� ��������������������������������@��������������@��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� >@�A� ���>����� @��������������������������������Xc, bp������������������������������!pi c$O4'@I<$ II ������������������������������"IU$ $I $ EI������������������������������ I�U$$ $�I $$ FI������������������������������� ��HI:$ b$Pbp������������������������������������������������������@������������������������������������������������������ @�����������������������������������������������������������������������������������������!� ����$����&��� ���������������������������������13c�`u#p[`@��������������������������������)I$ $& $$m$] ��������������������������������%I< '$ `I ��������������������������������#I $$$$ I$ ��������������������������������!1 -#R`4"PI:$ ��������������������������������������������������������@�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!Ç���8����>����@���@��D@���������!$H� ����������@����@��d���� ������A$H�  ,%DHq,4�Aǁ�dqËD!�����AH�  2&HD@P 2L�@B�TDLD"`�����AK� ""$OD@`  D�@B�TCD" �����ADH� �"Q$H(@"P  D�@B�L@"(" �����A$H� 2QfH(@"H  L�@BA�LDL"("`�����!#�, ᥇@Dq  4�@A�DqC!������ ��������� � �������������������������������!��������������� �����`�������������������������`��������������������������������������������������������������������������������������������������������������������������������� '���p��@8�������������������������������� �P!�����@"DA���������������������������������  ,4Pѡ<�@"DA���������������������������������  2LQ2a�$ DA���������������������������������  D!�@ D!��������������������������������� � D!�@"D���������������������������������  L2a�"D!��������������������������������� 4ѡ �p@8!�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �����������|����������������������������� �������� �����A����@�����������������������������#�8Ç�xq,�a@qc`,4�����������������������J�!�� �2�A "x2L�������������������������DJ�!�� A� �A"@ D������������������������$J�!�� A� �A�"@ D������������������������$J�! �$  �I "@ L �����������������������Ê� �q �1@q 4 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"AϞ�p@���������������������������������������������"(!�0@���������������������������������������������"(!�P ���������������������������������������������>(�p ���������������������������������������������"D� ���������������������������������������������"|!� ���������������������������������������������"D!� ���������������������������������������������"D�|p@��������������������������������������������������������@������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� B(����������������������������������������������� ��@F(�����������������������������������������������xpCJ(������������������������������������������������ D ������������������������������������������������� DB ������������������������������������������������� �DB������������������������������������������������� D������������������������������������������������� CO��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"AϞ�p@���������������������������������������������"(!�0@���������������������������������������������"(!�P ���������������������������������������������>(�p ���������������������������������������������"D� ���������������������������������������������"|!� ���������������������������������������������"D!� ���������������������������������������������"D�|p@��������������������������������������������������������@������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<8�@��������������������������������������������������D��@��������������������������������������������������@��@��������������������������������������������������@��@��������������������������������������������������D �@�������������������������������������������������� 8 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� -Figure 1: Sample card type definition ------------------------------------------------------- -(NCP.CardTypes) -1 - -Returns list of all currently defined NoteCard types. -(NCP.CardTypeP <type>) -1 - -Returns non-nil if <type> is an existing NoteCard type. -(NCP.CardTypeFns) -1 - -Returns a list of the valid Fns fields for NoteCard types. Currently, these include: MakeFn, EditFn, QuitFn, GetFn, PutFn, CopyFn, MarkDirtyFn, DirtyPFn, CollectLinksFn, DeleteLinksFn, UpdateLinkIconsFn, InsertLinkFn and TranslateWindowPositionFn. -[ The following hooks should some day become legitimate Fns or Vars fields for NoteCard types. Currently, they are properties placed on the card type's atom. - WhenSavedFn If you need to have certain functionality happen just before a card's contents is saved to the notefile, then make a function be the value of the WhenSavedFn prop of the card type atom. It will be called whenever a card's contents is saved. - WhenDeletedFn If you need to have certain functionality happen just before a card is deleted, then make a function be the value of the WhenDeletedFn prop of the card type atom. It will be called whenever a card is deleted. If the function returns 'ABORT, then the deletion of the card will be aborted. - LinkIconLeftButtonFn One may now specify an operation other than TraverseLink to be used when left buttoning in link icons. Just put the property "LinkIconLeftButtonFn" with the value of a function on the (destination card's) card type atom. The function will get called with two args, the destination card and the window containing the link icon. (This is similar to the ExtraLinkIconMenuItems card type property consulted by the link icon middle button code.) - AttachedBitMapFn You may now supply a function to calculate the attached bitmap for a card type. This function should be the value of the AttachedBitMapFn prop of the card type atom, and it will be passed Card, ScaledHeightToMatch, and Scale. If it exists, it will be applied first in calculating the bitmap to be displayed. If it returns a bitmap, a list of heights and bitmaps will be computed and placed on the LinkIconAttachedBitMap field of the card type. This hook may also be used to calculate the bitmap to be displayed on the right side of a link icon if it is a cross-file link and its attached bitmap is being displayed. In this case, the function should be the value of the AttachedBitMapFn prop of the card type atom 'CrossFileLink. (For computing the list of heights and bitmaps in an AttachedBitMapFn, see NCP.MakeTypeIconBitMapSet at the end of this section.) - Don'tForceFilingFlg It is possible to turn off forced filing on either the card type level or the card level. To define all cards of a type as not needing filing, you should put the property "Don'tForceFilingFlg" with the value of T on the card type atom. To define an individual card as not needing filing, use the function (NCP.MarkAsNotNeedingFiling <card>) (see Section 8: Handy Miscellaneous Functions). - NewCardPos If present, the value of this property determines where new cards of the type are brought up on the screen, assuming the RegionOrPosition argument now accepted by all card type makefns (passed to NC.DetermineDisplayRegion) is NIL. ] -(NCP.CardTypeVars) -1 - -Returns a list of the valid Vars fields for NoteCard types. Currently, these include: SuperType, StubFlg, FullDefinitionFile, LinkDisplayMode, DefaultWidth, DefaultHeight, LinkAnchorModesSupported, DisplayedInMenuFlg, LinkIconAttachedBitMap, LeftButtonMenuItems and MiddleButtonMenuItems. -(NCP.CardTypeFnP <fn>) -1 - -(NCP.CardTypeVarP <var>) -1 - -Returns non-nil if <fn> (<var>) is a valid function (variable) field for NoteCard types, for example, the litatom MakeFn (DefaultWidth). In other words, <fn> (<var>) can serve as the <fn> (<var>) arg to NCP.CardTypeFn (NCP.CardTypeVar). -(NCP.CardTypeFn <type> <fn>) -1 - -Returns the <fn> field for <type>. Note that this may be a value inherited at card type creation from <type>'s super type. -(NCP.CardTypeVar <type> <var>) -1 - -Returns the <var> field for <type>. Note that this may be a value inherited at card type creation from <type>'s super type. -(NCP.CardTypeSuper <type>) -1 - -Returns the super type of <type>. Equivalent to (NCP.CardTypeVar <type> 'SuperType). -(NCP.CreateCardType <TypeName> <SuperType> <FnsAssocList> <VarsAssocList>) -1 - -Makes a new NoteCard type with name <TypeName> and super type <SuperType>. Any functions not appearing in <FnsAssocList> or vars not appearing in <VarsAssocList> will be inherited from <SuperType>. -Note that, for now, specializing the FileBox card type is very dangerous and has unknown repercussions. -(NCP.DeleteCardType <TypeName> <DeleteSubTypesFlg ) -1 - -Deletes the NoteCard type with name <TypeName>. If DeleteSubTypesFlg is non-NIL, then it recursively deletes all sub-types of <TypeName>. If DeleteSubTypesFlg is NIL, then attempting to delete a type with sub-types is an error. -(NCP.CreateCardTypeStub <TypeName> <SuperType> <FullDefinitionFileName> <FnsAssocList> <VarsAssocList>) -1 - -Makes a stub for a new NoteCard type with name <TypeName> and super type <SuperType>. Some subset of the fns and vars can appear in <FnsAssocList> and <VarsAssocList>, however, the full definition will be loaded from <FullDefinitionFileName> the first time an attempt is made to access an undefined field name. -(NCP.ChangeCardTypeFields <TypeName> <FnsAssocList> <VarsAssocList>) -1 - -<TypeName> should be an existing NoteCard type. Some subset of the fns and vars should appear in <FnsAssocList> and/or <VarsAssocList>. These will be changed in the card type and then the inheritance mechanism will propagate these changes to any inheriting card types. For example, to make some existing card type FOO appears in the card type menu, do (NCP.ChangeCardTypeFields 'FOO NIL '((DisplayedInMenuFlg T))). -(NCP.ApplyCardTypeFn <CardTypeFn> <Card> <arg1> ... ) -1 - -This macro applies the card type fn <CardTypeFn> (unevaluated) of the card type of <Card> to <Card> and the other args. -(NCP.ApplySuperTypeFn <CardTypeFn> <Card> <arg1> ... ) -1 - -This macro applies the card type fn <CardTypeFn> (unevaluated) of the super type of <Card>'s type to <Card> and the other args. -(NCP.IsSubTypeOfP <type1> <type2>) -1 - -Returns non-nil if type1 inherits directly or indirectly from type2, that is, type2 can be found somewhere up the SuperType chain from type1. -(NCP.TextBasedP <cardOrType>) -1 - -(NCP.SketchBasedP <cardOrType>) -1 - -(NCP.GraphBasedP <cardOrType>) -1 - -If <cardOrType> is a card then we use its type. Returns non-nil if that type inherits directly or indirectly from Text, Sketch or Graph respectively. -(NCP.AutoLoadCardType <TypeName>) -1 - -<TypeName> is currently undefined. This asks NoteCards to look around for the file containing it and load it. It searches NOTECARDSDIRECTORIES for a file named NC<TypeName>TYPE. -(NCP.LinkIconAttachedBitMap <TypeName> <Size>) -1 - -Returns the link icon attached bitmap of size Size for card type TypeName. Default size is determined by the global variable NCP.DefaultLinkIconAttachedBitMapSize, whose initial value is 17. -(NCP.MakeTypeIconBitMapSet <Bitmap> <Heights>) -1 - -Returns a list of heights and bitmaps to be used in determining the appropriately sized bitmap for a given link icon. (Typically used when supplying an AttachedBitmapFn - see above.) <Bitmap> will be scaled to all of the heights in <Heights>, which defaults to NC.DefaultLinkIconAttachedBitMapHeights if NIL. -3. Creating NoteCards and FileBoxes -1 - -The following functions create various sorts of cards and boxes within the currently open notefile. -(NCP.CreateCard <type> <NoteFile> <title> <nodisplayflg> <props> <parentfileboxes> <otherargs><InterestedWindow> <RegionOrPosition>) -1 - -Creates and returns a card of the given (possibly user-defined) type, with given title, props, and parents. <otherargs> is a possibly nil list of args that will be passed to the MakeCardFn of <type>. Card is initially displayed or not according to value of <nodisplayflg>. Note that actually a top level copy of <props> is used (i.e. (APPEND <props>) ). <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.CreateTextCard <NoteFile> <title> <nodisplayflg> <props> <parentfileboxes> <InterestedWindow> <RegionOrPosition>) -1 - -Creates and returns a new notecard having type Text. If <title> is non-nil, it is installed as the Notecard's title, otherwise the title is "Untitled." <props>, if non-nil, should be a prop-list of properties and values to be placed on the user property list of the Notecard. If <parentfileboxes> is non-nil, then it should be a list of FileBoxes in which to initially file this card. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.CreateFileBox <NoteFile> <title> <nodisplayflg> <props> <childcardsboxes> <parentfileboxes> <InterestedWindow> <RegionOrPosition>) -1 - -Creates and returns a new Filebox with title <title> (or a gensym'ed name if <title> is nil). It will initially contain child cards and boxes from the list <childcardsboxes> (if that arg is non-nil). If <parentfileboxes> is nil, then the new filebox will be filed in the value of (NCP.GetToBeFiledFileBox). The <props> arg is handled as it was for NCP.CreateNoteCard. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.CreateBrowserCard <NoteFile> <title> <paramList> <nodisplayflg> <props> <parentfileboxes> <InterestedWindow><RegionOrPosition>) -1 - -Creates and returns a new browser card with given title, props and parents. <paramList> should be a prop list of browser parameters. The properties currently recognized are: - ROOTCARDS A list of Notecards to serve as roots of the forest or lattice generated by the browser. If omitted or NIL then user is asked to choose root cards. - LINKTYPES A list of link types to follow when creating the browser. Any label present in the list having the backarrow prefix ("_") represents that link type but in the reverse direction. This list can also contain the atoms ALL or _ALL (<backarrow>ALL) in which case browsing will be done on all links in either the forward or reverse direction. If both ALL and _ALL (<backarrow>ALL) are specified, then links in both directions will be used (generally making a mess). - DEPTH The depth at which to cut off the browser. This should be a non-negative integer. If NIL or omitted, then will assume no limit. (Currently integers greater than 9 are assumed equivalent to infinity.) - FORMAT This should be a list of one, two or three elements. The first should be an atom indicating grapher format. The choices are FAST (layed out as a forest, sacrificing screen space for speed), COMPACT (layed out as a forest, using minimal screen space), LATTICE (layed out as a directed acyclic graph, the default), *GRAPH* (layed out as a graph, i.e. virtual nodes are eliminated). The second element of the FORMAT list, if present, should be either HORIZONTAL (the default) or VERTICAL specifying whether the graph is layed on its side or up and down. The third element, if present, should be the atom REVERSE. This indicates that horizontal graphs should be layed out from right to left instead of left to right and that vertical graphs should be layed out from bottom to top rather than vice versa. -If all of LINKTYPES, DEPTH, or FORMAT are omitted, the user is asked to choose them from a stylesheet. If one or more is specified, even as being NIL, the user is not prompted for them. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.CreateSketchCard <NoteFile> <title> <nodisplayflg> <props> <parentfileboxes> <InterestedWindow><RegionOrPosition>) -1 - -Creates and returns an initially empty sketch/map card having given title, props, and parents. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.CreateGraphCard <NoteFile> <title> <nodisplayflg> <props> <parentfileboxes> <InterestedWindow><RegionOrPosition>) -1 - -Creates and returns an initially empty graph card having given title, props, and parents. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.MakeDocument <NoteFile> <rootcard> <parametersProplist> <nodisplayflg> <props> <parentfileboxes><InterestedWIndow> <RegionOrPosition>) -1 - -Creates and returns a Document card starting from <rootcard>. The user may specify new values for the set of parameters for making a document with <parametersProplist>. For example, a value of '(TitlesFromNoteCards Bold ExpandEmbeddedLinks ALL) for <parametersProplist> would cause these values for the parameters TitlesFromNoteCards and ExpandEmbeddedLinks to be used, and the current defaults for the other parameters will be used. If no <parametersProplist> is provided, the user will be prompted for the parameters with a stylesheet. As usual, the resulting card will have the given props and parents. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -(NCP.MakeLinkIndex <NoteFile> <linktypes> <backpointersP> <nodisplayflg> <props> <parentfileboxes> <InterestedWIndow> <RegionOrPosition>) -1 - -Creates and returns a LinkIndex text card consisting of a sorted record of all instances of links in the current notefile having one of the given link types. <linktypes> can contain the litatoms ALL and/or _ALL (<backarrow>ALL) as well as any particular backwards links. (See the above description of NCP.MakeDocument.) Backpointer links are inserted in the text if <backpointersP> is non-nil. Resulting card will have given props and parents. <InterestedWindow> is a window used to attach a prompt window for messages. <RegionOrPosition> is used to position and/or shape the new card. -4. Accessing NoteCards and FileBoxes -1 - -The following functions provide access to the cards and boxes present in the current notefile. Note that whether a card's window has been brought up on the screen has little or no impact on most of the following functions. If the user changes some field of a card while that card is visible on the screen, then the field will update itself automatically. Thus, users can switch between program-driven and screen-interface-driven modes at will. -Most of the following functions take as first argument a card or filebox. If this does not in fact correspond to an existing card or box, then an error message is printed and nil is returned. -Cards can be displayed, cached or closed. A cached card has its information cached in memory thus saving time (to access) at the expense of space. All cards displayed on the screen are also cached. In almost all cases, users will need only use NCP.OpenCard and NCP.CloseCards. NCP.OpenCard does both caching and displaying while NCP.CloseCards does both undisplaying and uncaching, if necessary. -(NCP.OpenCard <card> <region/position> <typeSpecificArgs>) -1 - -Brings up on the screen the given card in the given region or at the given position. If <region/position> is nil, then user is asked to specify position with mouse. <typeSpecificArgs>, if any, will be passed to the card type's EditFn. -(NCP.CloseCards <cardOrListOfCards> <quietFlg>) -1 - -Undisplay and uncache all the cards in <cardOrListOfCards>. <quietFlg> non-nil cuts down on messages. -(NCP.DisplayCard <card> <region/position> <typeSpecificArgs>) -1 - -If <card> was cached but not displayed, then bring it up on the screen. The <region/position> argument is as in NCP.OpenCard. <typeSpecificArgs>, if any, will be passed to the card type's EditFn. -(NCP.UndisplayCards <cardOrListOfCards> <quietFlg> <writeChangesFlg>) -1 - -If any of <cardOrListOfCards> were displayed, then undisplay them. <quietFlg> non-nil cuts down on messages. Normally, changes are not written to the notefile when a card is undisplayed, but only when it is uncached. <writeChangesFlg> non-nil makes changes be written through to the notefile. -(NCP.CacheCards <cardOrListOfCards>) -1 - -If any of <cardOrListOfCards> are not currently cached, then cache them. -(NCP.UncacheCards <cardOrListOfCards> <quietFlg>) -1 - -If any of <cardOrListOfCards> are cached but not displayed, then uncache them. <quietFlg> non-nil cuts down on messages. -(NCP.CardDisplayedP <card>) -1 - -Returns non-nil if given card or box is currently displayed in a window. -(NCP.CardCachedP <card>) -1 - -Returns non-nil if given card's information is currently cached. -Most of the following functions leave the card in the same state as it was when they started (except NCP.BringUpCard, which makes it active). Thus, users needing to do several consecutive operations to the same card should consider temporarily caching the card's information via NCP.CacheCards (and then uncaching with NCP.CloseCards). -(NCP.CardType <card>) -1 - -Returns the type of <card> or NIL if the card does not exist. -(NCP.ValidCardP <card>) -1 - -Returns <card> if <card> exists (hasn't been deleted), otherwise returns NIL. (This is currently a synonym for NCP.CardType.) -(NCP.SameCardP <card1> <card2>) -1 - -Returns non-nil if <card1> is the same card as <card2>. Error if either arg is not a valid card. -(NCP.NewCardP <card>) -1 - -Returns non-nil if <card> is new; ie. not yet saved in the notefile. Error if the arg is not a valid card. -(NCP.CardBeingDeletedP <card>) -1 - -Returns non-nil if <card> is in the process of being deleted; for use with user-defined card types. Error if the arg is not a valid card. -(NCP.CardTitle <card> [<newtitle>]) -1 - -Returns old title of <card>. If <newtitle> is present, then set <card>'s title to <newtitle>. <newtitle> can be an atom or string. Note, however, that all titles are converted internally to strings by NoteCards. -(NCP.FileCards <cards> <fileboxes>) -1 - -Every card or box in <cards> is filed in every box in <fileboxes>. Either arg may be a card object or a list. -(NCP.UnfileCards <cards> <fileboxes>) -1 - -Every card or box in <cards> is unfiled from every box in <fileboxes>. Furthermore if <cards> is the litatom ALL, then the boxes in <fileboxes> will be cleared of all children. Similarly, if <fileboxes> is the litatom ALL, then the cards and boxes in <cards> will be unfiled from all their parent boxes. Either arg may be a card object or a list. -(NCP.CardParents <card> <FollowCrossFileLinksFlg>) -1 - -Returns list of fileboxes in which <card> is filed. <FollowCrossFileLinksFlg>, if non-nil, causes cross-file links to be followed to recover fileboxes in remote notefiles in which <card> is filed. -(NCP.FileBoxChildren <filebox> <FollowCrossFileLinksFlg>) -1 - -Returns list of children of <filebox> in the order in which they appear in the box's textstream. <FollowCrossFileLinksFlg> is as in NCP.CardParents. -(NCP.GetLinks <cards> <destinationCards> <labels> <NoteFile>) -1 - -Returns list of all links from any of <cards> to any of <destinationCards> having any label in <labels>. Any of these arguments can be nil. For example, if <destinationCards> is nil, then all links pointing from <cards> to anywhere with a label in <labels> are returned. If both <cards> and <destinationCards> are nil, then <NoteFile> should not be nil and this returns all links in <NoteFile> having a label in <labels>. If all three args are nil, then this is a slow synomym for (NCP.AllLinks <NoteFile>). -(NCP.GetCrossFileLinkDestCard <CrossFileLinkCard> <InterestedWindow> <Don'tOpenDestNoteFileFlg>) -1 - -For a given <CrossFileLinkCard>, tries to follow the link to a remote card in the destination notefile and returns that card if found. If <Don'tOpenDestNoteFileFlg> is non-nil, then destination notefile must be open. <InterestedWindow> is an optional window argument whose prompt window is used for messages. -Cross-file link cards are "hidden" cards that serve as placeholders for true cross-file links. That is, a (two-way) cross-file link from card A to card B (in different notefiles) actually consists of 2 links and 2 cross-file link cards. In the source notefile, card A is linked to a cross-file link card AA. AA "knows" about the notefile that contains B and B's UID. Similarly, the destination notefile contains a cross-file link card BB which is linked to card B. Again, the substance of BB contains a filename "hint" for the source notefile as well as the UID for A. One-way cross-file links only contain cross-file link cards in the source notefile. The destination card contains no record that it's been linked to. -(NCP.CardNeighbors <cards> <linkTypes> <FollowCrossFileLinksFlg>) -1 - -Return a list of cards each of which is one link away from some card in <cards>. Only links having types in <linkTypes> are considered. Both <cards> or <linkTypes> can be either nil, card objects (or link type atoms) or a list. Null <cards> means that all cards linked to by anyone are returned. <linkTypes> can include link types prefixed with the character '_' (<backarrow>). This means to follow links of that type in the reverse direction. <linkTypes> can also include either or both of the atoms ANY and _ANY (<backarrow>ANY). The former means to include any cards one link away in the forward direction, while the latter causes inclusion of any cards one link away in the backwards direction. <linkTypes>=NIL is equivalent to <linkTypes>='ANY. If <FollowCrossFileLinksFlg> is non-nil, then any links that cross notefile boundaries are followed to their remote destination cards. Otherwise, cross-file links are ignored. -(NCP.CardPropList <card>) -1 - -Returns the prop list of the given card. -(NCP.CardProp <card> <propname> [<newvalue>]) -1 - -Returns old value of property <propname> on <card>'s prop list. If <newvalue> is present, then set <card>'s <propname> property to <newvalue>. (Semantics are analogous to the Interlisp function WINDOWPROP.) -(NCP.CardAddProp <card> <propname> <newitem>) -1 - -Adds <newitem> to the list present on the <propname> property of <card>. Returns old value of property. (Semantics are analogous to WINDOWADDPROP.) -(NCP.CardDelProp <card> <propname> <itemToDelete>) -1 - -Deletes <itemToDelete> from the <propname> property of <card> if it is there, returning the previous value of that property. If not there, return nil. (Semantics are analogous to WINDOWDELPROP.) -(NCP.CardRegion <card> [<newRegion>]) -1 - -Returns the region of <card>. This works even if <card> is not currently up on the screen, since the region information is stored on the notefile. If <newRegion> is provided, then the saved region of the card is changed. If the card is currently displayed, then it is reshaped to the new region. -(NCP.CardSubstance <card> [<newSubstance>]) -1 - -Returns the substance of <card>. For example, returns a textstream in the case that the type of <card> is built on the TEdit text editor. In general, this is what the PutFn of a card type writes down to the notefile and what the GetFn reads in. If a <newSubstance> argument is present, then the substance of the card is replaced and NCP.MarkCardDirty is called. -(NCP.CardAddText <card> <textstr> <loc>) -1 - -Adds the text within the string <textstr> to the text card <card>. If <loc> is the litatom START or END, then the text will be placed at the start or end of the card respectively. If <loc> is a number, then it is assumed to be a character count within the card at which to place the new text. If <loc> is NIL, then the text is placed at the current cursor location. -(NCP.ChangeLoc <card> <loc>) -1 - -Changes the cursor's location in <card>'s textstream to <loc>. Possible values for <loc> are as described for NCP.CardAddText. -(NCP.DeleteCards <cardOrListOfCards>) -1 - -Deletes the given cards and fileboxes from their notefile, or deletes just the one if <cards> is a single card object. -(NCP.CardNoteFile <card>) -1 - -Returns <card>'s NoteFile. -(NCP.CardWindow <card>) -1 - -Returns <card>'s window if <card> is currently displayed somewhere on the screen. (The function NCP.WindowFromCard is an alias for NCP.CardWindow.) -(NCP.CardFromWindow <window>) -1 - -Returns the card associated with <window>, or NIL if not a notecards window. -(NCP.CardFromTextStream <TextStream>) -1 - -Returns the card associated with <TextStream>, or NIL if <TextStream> doesn't belong to some text card. -(NCP.FileBoxP <card>) -1 - -Returns non-nil if <card> is a filebox. -(NCP.AllCards <NoteFile>) -1 - -Returns a list of all extant cards for the given notefile. -(NCP.CardsOfTypes <CardsOrNoteFile> <Types>) -1 - -Returns a list of all cards of the given type (or types) for the given notefile (or list of cards). -(NCP.AllBoxes <NoteFile>) -1 - -Returns a list of all fileboxes in the given notefile. -(NCP.MapCards <NoteFile><fn> <collectResultsPredicate>) -1 - -Maps down the set of all cards in the current notefile, applying <fn> to each. If <collectResultsPredicate> is non-nil, then for those cards satisfying the predicate, the values of <fn> applied to them are collected. -(NCP.MapCardsOfType <types> <NoteFile> <fn> <collectResultsPredicate>) -1 - -This is similar to NCP.MapCards, but only looks at cards whose type appears on <types>. <types> can be a single type or a list of types. -(NCP.ContentsFileBox <NoteFile>) -1 - -(NCP.OrphansFileBox <NoteFile>) -1 - -(NCP.ToBeFiledFileBox <NoteFile>) -1 - -These functions retrieve the three predefined FileBoxes for the currently open NoteFile. These boxes can be modified (but not deleted) by the user in the same way as any other filebox. - 5. Creating and Accessing Links -1 - -Links consist of source card, destination card, link type, display mode and anchoring mode. The new function NCP.CreateLink can be used to create any sort of link. We still provide the four functions NCP.GlobalGlobalLink, NCP.LocalGlobalLink, etc. for those who have grown used to that style. -(NCP.GetLinks <cards> <destinationCards> <labels> <NoteFile>) -1 - -See documentation in the previous section. -(NCP.CreateLink <source> <destination> <linkType> <displayMode) -1 - -<source> can be either a card or a list of two elements (<sourceCard> <sourceLoc>). <sourceCard> should be a card to use as the source of the link while <sourceLoc> should be either the atom GLOBAL (in which case a global-to-global link is created) or a Loc directive as described in NCP.CardAddText above, that is, an integer or one of the atoms START, END or NIL. This creates and returns a new link with type <linkType>, connecting <sourceCard> to <destinationCard>. For text cards, Loc, if present, designates where to insert the link. If the link is local-to-global, then <displayMode> should be a valid displaymode or NIL. (See description of NCP.LinkDisplayMode for the valid values for <displayMode>.) (In the future, Locs for non-text cards will be specifiable. In the far future, we hope to allow local anchoring at the destination end of the link as well as the source.) -(NCP.GlobalGlobalLink <label> <sourceCard> <destinationCard>) -1 - -Creates and returns a new link with label <label>, connecting <sourceCard> to <destinationCard>. -(NCP.LocalGlobalLink <label> <sourceCard> <destinationCard> <fromloc> <displaymode>) -1 - -Creates and returns a new link with label <label>, connecting from <fromloc> of <sourceCard> card to <destinationCard>. If <displaymode> is non-nil, then the new link is displayed in the given mode. Otherwise the default displaymode for the source card's type is used. See the description of NCP.LinkDisplayMode for the valid entries for the <displaymode> arg. -(NCP.GlobalLocalLink <label> <sourceCard> <destinationCard> <toloc>) -1 - -Not implemented at this time. -(NCP.LocalLocalLink <label> <sourceCard> <destinationCard> <fromloc> <toloc>) -1 - -Not implemented at this time. -(NCP.LinkDesc <link> <followCrossFileLinkFlg) -1 - -Returns list of three items (<label> <sourceDesc> <destinationDesc>) where <label> is the link type and <sourceDesc> and <destinationDesc> have the form (<anchor mode> <card> <loc>). <anchor mode> is either LOCAL or GLOBAL, <card> is the card at this end of the link, and <loc> gives a position in the text of <card> if <anchor type> is LOCAL and <card>'s substance's type is TEXT. If the link is a cross-file link and if <followCrossFileLinkFlg> is non-nil, then the link will be traversed, opening the remote notefile if necessary to determine information about the source or destination card of the link. -(NCP.LinkDisplayMode <link> [<newdisplaymode>]) -1 - -Returns old display mode of <link>. If <newdisplaymode> is present, then set <link>'s displaymode accordingly. If non-nil, it can be an instance of the LINKDISPLAYMODE record. Or it can be one of the litatoms Icon, Title, Label, or Both. Finally, it can be a list of three elements (<ShowTitleFlg> <ShowLinkTypeFlg> <AttachBitmapFlg>). Each element can have one of the three values T, NIL, or FLOAT. If a field, say <ShowTitleFlg>, has value FLOAT then the corresponding global parameter (DefaultLinkIconShowTitle, in this case) will be consulted to decide whether or not to display the destination card's title in this icon. (See Section 7 for a description of the global parameters.) -(NCP.CoerceToLinkDisplayMode <thing>) -1 - -Returns a LINKDISPLAYMODE record. Thing can be a LINKDISPLAYMODE record, cardtype, card, link, atom, or list. If thing is a LINKDISPLAYMODE record, that record is returned. If thing is a cardtype, the default LinkDisplayMode for that cardtype is returned. If thing is a card, the LinkDisplayMode of that card is returned. If thing is a link, the LinkDisplayMode of that link is returned. If thing is an atom or a list, then the corresponding LinkDisplayMode, as specified under NCP.LinkDisplayMode (see above), is returned. -(NCP.LinkType<link> [<newLinkType>]) -1 - -Returns old linktype of <link>. If <newLinkType> is present, set <link>'s type to <newLinkType>. -(NCP.LinkSource <link>) -1 - -Returns the card at the source end of <link>. -(NCP.LinkDestination <link>) -1 - -Returns the card at the destination end of <link>. -(NCP.DeleteLinks <links>) -1 - -Removes all links in <links> (or just one if <links> is a single link object. -(NCP.ValidLinkP <link>) -1 - -Returns non-nil if <link> is a link in the current notefile. -(NCP.SameLinkP <link1> <link2>) -1 - -Returns non-nil if <link1> is the same link as <link2>. Error if either arg is not a valid link. -(NCP.AllLinks <NoteFile>) -1 - -Returns a list of all existing links in <NoteFile>. (This is equivalent to but faster than (NCP.GetLinks NIL NIL NIL <NoteFile>).) -(NCP.MapLinks <NoteFile> <fn> <collectResultsPredicate>) -1 - -Maps down the set of all links in the given notefile, applying <fn> to each. If <collectResultsPredicate> is non-nil, then for those links satisfying the predicate, the values of <fn> applied to them are collected. -(NCP.MapLinksOfType <types> <NoteFile> <fn> <collectResultsPredicate>) -1 - -This is similar to NCP.MapLinks, but only looks at links whose type appears on <types>. <types> can be a single type or a list of types. -6. Creating and Accessing Link Labels -1 - -The following functions allow the user to manipulate link labels. -(NCP.CreateLinkType <linkType> <NoteFile> <QuietFlg>) -1 - -Creates a new link type with name <LinkType> in <NoteFile> unless there is already one defined by that name. A non-NIL <QuietFlg > suppresses the error message that is normally printed if the link type has already been defined for this notefile. -(NCP.DeleteLinkType <linkType> <NoteFile>) -1 - -Deletes the link type <linkType> from <NoteFile>. The link type must exist and must not be the type of any existing link, and it must not be a system-defined link type (e.g. SubBox or BrowserContents). -(NCP.RenameLinkType <linkType> <newLinkType> <NoteFile>) -1 - -Changes any links in <NoteFile> having link type <linkType> to have type <newLinkType>. <linkType> must exist and neither <linkType> nor <newLinkType> should be a system-defined type. -(NCP.LinkTypes <NoteFile>) -1 - -Returns a list of all existing link types in <NoteNFile> including system-defined ones. -(NCP.ReverseLinkTypes <NoteFile>) -1 - -Returns a list of the reverse link types for every link type in <NoteFile>. Thus, whereas SubBox would appear in the list returned by NCP.LinkTypes, _SubBox (<backarrow>SubBox) would appear in the list returned by NCP.ReverseLinkTypes. -(NCP.UserLinkTypes <NoteFile>) -1 - -Returns a list of all existing user-defined link labels in <NoteFile>. -(NCP.SystemLinkTypeP <LinkType>) -1 - -Returns non-nil if <LinkType> is a system link type.. -(NCP.ValidLinkTypeP <LinkType> <NoteFile>) -1 - -Returns non-nil if <LinkType> is a defined link type for <NoteFile>. -7. Customizing the NoteCards Interface -1 - -There are currently several areas where the user may tailor the NoteCards user interface: the NoteCards Session Icon menus, the left button menu on the title bar of a notefile's menu icon, the middle button menu of a notefile's menu icon, the ShowCards middle button menu on a notefile's menu icon, and the title bar menus of displayed cards and card types. -The Session Icon: The menus associated with this icon may be modified using the following functions: -(NCP.AddSessionIconMenuItem <MenuName> <Item> ) -1 - -Adds the menu item <Item> to the session icon menu specified by <MenuName> (one of 'Card, 'NoteFile, or 'Other). <Item> should be a complete menu item and may contain subitems in the standard format. For the Card and Other menus, the item can be a normal menu item. For the NoteFile menu, it must be slightly different. Instead of providing an expression to be evaluated as the second part of the menu item ( and of any subitems), you should provide the name of a function of two arguments: NoteFile and Window. This function will be applied to these arguments when the menu item is selected. -Returns the item added if successful, NIL otherwise. -Example: -(NCP.AddSessionIconMenuItem ' NoteFile '(Foo% Function NC.DoFoo "Performs the function Foo on this notefile") ) -(NCP.RemoveSessionIconMenuItem <MenuName> <ItemName> ) -1 - -Removes the menu item named <ItemName> from the session icon menu specified by <MenuName> (one of 'Card, 'NoteFile, or 'Other). <ItemName> should be only the name of the menu item. -Returns the full item removed if successful, NIL otherwise -Example: -(NCP.RemoveSessionIconMenuItem ' NoteFile 'Foo% Function ) -(NCP.RestoreSessionIconMenu <MenuName> ) -1 - -Restores the menu specified by <MenuName> (one of 'Card, 'NoteFile, or 'Other) to its initial state. If <MenuName> is NIL, all three menus will be restored. -(NCP.SessionIconWindow) -1 - -Returns the session icon window. -(NCP.BringUpSessionIcon <IconPosition>) -1 - -Brings up the NoteCards icon at IconPosition. If no IconPosition is given and the icon is already on the screen, it will be flashed. If it is not on the screen, the user will be prompted to place it. -The left button menu on the title bar of a notefile's menu icons: The user may modify this menu using the following functions. -(NCP.AddNoteFileIconMenuItem <Item> <OpenOrClosedOrBoth> ) -1 - -Adds the menu item <Item> to the NoteFile icon menu. <Item> should be a complete menu item and may contain subitems.. The second part of the menu item (and of any subitems) should be a function of two arguments: NoteFile and Window. Window will be the icon window for the notefile. This function will be applied to these arguments when this menu item is selected. <OpenOrClosedOrBoth> specifies for which type of notefile the new operation will be valid. If <OpenOrClosedOrBoth> is 'Open, the item will appear as an operation for open notefiles. If <OpenOrClosedOrBoth> is 'Closed, the item will appear as an operation for closed notefiles. If <OpenOrClosedOrBoth> is 'Both, the item will be available for both open and closed notefiles. -Returns the full item added if successful, NIL otherwise. -Example: -(NCP.AddNoteFileIconMenuItem '(Foo% Function NC.DoFoo "Performs the function Foo on this notefile") 'Open) -(NCP.RemoveNoteFileIconMenuItem <ItemName> ) -1 - -Removes the menu item named <ItemName> from the NoteFile icon menu. -Returns the full item removed if successful, NIL otherwise. -Example: -(NCP.RemoveNoteFileIconMenuItem 'Foo% Function ) -(NCP.RestoreNoteFileIconMenu ) -1 - -Restores the NoteFile Icon menu to its initial state. -The middle button menu of a notefile's menu icon: It is now possible for users to add menu items to this menu using the following functions. -(NCP.AddNoteFileIconMiddleButtonItems <Notefile><MenuItems>) -1 - -Adds list of menu items <MenuItems> to the middle button menu of the main menu icon corresponding to <Notefile>. These menu items will remain on the menu until the next time the notefile is closed. The second item of each menu item should be an atom that is the name of a function to be called when selected. -(NCP.AddDefaulltNoteFileIconMiddleButtonItems <MenuItems>) -1 - -Adds list of menu items <MenuItems> to the middle button menu of the main menu icons for all notefiles. These menu items will remain on the menus for the life of the session. The second item of each menu item should be an atom that is the name of a function to be called when selected. -The ShowCards middle button menu on the notefile icon: Users can indicate that certain cards should be added to or deleted from this menu using the following functions. -(NCP.AddSpecialCard <Card>) -1 - -Adds <Card> to the list of special cards appearing in the middle button menu on the ShowCards option of the notefile icon (for the notefile containing <Card>). -(NCP.RemoveSpecialCard <Card>) -1 - -Removes <Card> from the list of special cards appearing in the middle button menu on the ShowCards option of the notefile icon (for the notefile containing <Card>). -The title bar menus of cards and card types: Users can add menu items to either a specific window containing a card, or to the default menu of a card type. -(NCP.AddTitleBarMenuItemsToWindow <Win> <Button> <NewMenuItems><TopOrBottom>) -1 - -Adds the menu items <NewMenuItems> to the title bar menu of <Win>. <Button> should be one of 'Left or 'Middle, corresponding to either the LeftButtonTitleBarMenu or the MiddleButtonTitleBarMenu. <Win> should be the window of a visible notecard. <TopOrBottom> should be one of 'Top or 'Bottom, indicating where in the menu the new items should appear. -(NCP.AddTitleBarMenuItemsToType <Type> <Button> <NewMenuItems> <TopOrBottom>) -1 - -Adds the menu items <NewMenuItems> to the title bar menu of all cards of type <Type>. <Button> should be one of 'Left or 'Middle, corresponding to either the LeftButtonTitleBarMenu or the MiddleButtonTitleBarMenu. <TopOrBottom> should be one of 'Top or 'Bottom, indicating where in the menu the new items should appear. -Menu of notefiles: the user may use the list and menu of noticed notefiles maintained by NoteCards. -NCP.NoticedNoteFileNames -1 - -Global var containing a list of the currently available notefile names noticed by NoteCards. -(NCP.NoticedNoteFileNamesMenu <IncludeNewNoteFileFlg> <AllowedOperations> <InterestedWindow> <Operation>)) -1 - -Provides user with a menu of noticed notefile names. <IncludeNewNoteFileFlg> should be non-NIL if new notefiles are allowed. <AllowedOperations> should be one of the atoms: OPEN, CLOSED or NIL for both. <Operation> should be a string or atom containing the name of the operation to be performed on the result and the word NoteFile; e.g. (QUOTE Open% NoteFile). This is used in the prompt for a new notefile name. <InterestedWindow> is the window to receive a prompt window for any messages printed. -(NCP.ForgetNoteFileName <NoteFileOrFileName> ) -1 - -The notefile is removed from the menu of noticed notefiles. It will not be added to the menu again until explicitly remembered using NCP.RememberNoteFileName regardless of other operations performed on the notefile. -(NCP.RememberNoteFileName <NoteFileOrFileName> ) -1 - -The notefile is added to the menu of noticed notefiles. This is only necessary if the NoteFile name has been forgotten. -NCP.GrayShade -1 - -Global var containing the shade used for shading various menu items in the interface. The default value of NCP.GrayShade is GRAYSHADE. This variable should be changed with the function NCP.SetGrayShade (see below). -(NCP.SetGrayShade <Shade>) -1 - -This function should be used to change the value of NCP.GrayShade to <Shade>. In addition to changing NCP.GrayShade, it also resets all cached menus that use NCP.GrayShade. If <Shade> is NIL, NCP.GrayShade will not be changed, but the menus will still be reset. Returns the new value of NCP.GrayShade. -8. Handy Miscellaneous Functions -1 - -(NCP.BringUpNoteCardsIcon <IconPosition> ) -1 - -Brings up the NoteCards session icon at the position <IconPosition>. If no position is given, will prompt the user th place the icon. If the icon is already on the screen and no position is given, it will be flashed. (equivalent to (NoteCards <IconPosition>). -(NCP.TitleSearch <NoteFile> <keys> <caseSensitiveFlg> ) -1 - -Returns a list of all cards in <NoteFile> having all of the <keys> (can be atom, string or list) within their titles. Normally case insensitive unless <caseSensitiveFlg> is non-nil. -(NCP.PropSearch <NoteFile> <propOrPair> <propOrPair> ...) -1 - -Returns a list of all cards in <NoteFile> such that for every <propOrPair> arg, if it is atomic, then the card contains that property. If it is a list of two elements, then the card must have a property EQ to the first element with value EQ to the second element. -(NCP.WhichCard <x> <y>) -1 - -Returns the card currently displayed on the screen whose window contains the position in screen coordinates of <x> if <x> is a POSITION, the position (<x>,<y>) if <x> and <y> are numbers, or the position of the cursor if <x> is NIL. Returns NIL if the coordinates are not in the window of any card. If they are in the window of more than one card, then returns the uppermost. If <x> is a window, then NCP.WhichCard will return the card associated with that window. (The function NCP.WC is an alias for NCP.WhichCard.) -(NCP.WhichNoteFile <x> <y>) -1 - -Works just like NCP.WhichCard, returning the notefile corresponding to the indicated window. If the window is for a card, then the card's notefile is returned, if it's for a notefile menu, then that notefile is returned. (The function NCP.WNF is an alias for NCP.WhichNoteFile.) -(NCP.NoteFileIconWindow <NoteFile>) -1 - -Returns the main menu icon window, if any, for given <NoteFile>. -(NCP.DisplayedCards <NoteFiles > <CardTypes >) -1 - -Returns a list of all cards currently displayed on the screen that are in one of <NoteFiles > and are of one of the types in <CardTypes >. (Shrunken ones are included.) If <CardTypes > is NIL, then looks at all card types. If <NoteFiles > is NIL, then looks at all notefiles. -(NCP.SelectCards <instigatingCardOrWindow> <singleCardFlg> <selectionPredicate> <message> <checkForCancelFlg> <NewCardFlg>) -1 - -Returns a list of those cards selected from the screen. A menu appears in or near <instigatingCardOrWindow> displaying <message> and having buttons for DONE, UNDO, CANCEL (unless <singleCardFlg> is non-nil, in which case there is only a CANCEL button) and NEW CARD (if <NewCardFlg> is non-NIL). Card selections must satisfy <selectionPredicate> and are made by left buttoning in the title bars of the desired cards. If user hits CANCEL button, then NIL is returned unless <checkForCancelFlg> is non-nil, in which case the atom DON'T is returned. -(NCP.DocumentParameters <parametersProplist>) -1 - -Returns the old value of the document parameters in the form of a proplist. If <parametersProplist> is non-nil then it should be a proplist whose properties are (some of the) valid document parameter names and whose values are permissible values for those parameters. The valid parameters and possible values are as follows: - HeadingsFromFileboxes NumberedBold, UnnumberedBold, NONE. - TitlesFromNoteCards Bold, NotBold, NONE. - BuildBackLinks ToCardsBoxes, ToCards, ToBoxes, NONE. - CopyEmbeddedLinks ALL, NONE, <listOfLinkLabels>. - ExpandEmbeddedLinks ALL, NONE, <listOfLinkLabels>. -[See the Notecards user's manual for an explanation of these parameters and how their values affect the document created.] -(NCP.NoteCardsParameters <parametersProplist>) -1 - -Returns the old value of the global Notecards parameters in the form of a proplist. If <parametersProplist> is non-nil then it should be a proplist whose properties are (some of the) valid document parameter names and whose values are permissible values for those parameters. The valid parameters and possible values are as follows: - DefaultCardType <legalCardType> - MenuLingersAfterNoteFileClose T or NIL - ShowNoteFileOnCards T or NIL - NewNoteFileInitialSize <positive number (default is 1000)> - ForceFiling T or NIL - ForceTitles T or NIL - CloseCardsOffScreen T or NIL - BringUpCardsAtPreviousPos T or NIL - MarkersInFileBoxes T or NIL - AlphabetizedFileBoxChildren T or NIL - DefaultLinkIconAttachBitmap T or NIL - DefaultLinkIconShowTitle T or NIL - DefaultLinkIconShowLinkType T or NIL - UseDeletedLinkIconIndicators T or NIL - DelTEditProcessWhenShrinking T or NIL - ExtraTEditProps a prop list - EnableBravoToTEditConversion T or NIL - IncludeCardObjectInShowInfo T or NIL - LinkDashingInBrowsers T or NIL - ArrowHeadsInBrowsers one of the litatoms {AtEndpoint, AtMidpoint, None} - SpecialBrowserSpecs T or NIL - DefaultFont a font - LinkIconFont a font - MenuFont a font - NoteFileIndicatorFont a font -Here, <legalCardType> should be an existing Notecard type, i.e. one that appears in the list returned by NCP.CardTypes. -(NCP.CoerceToInterestedWindow <WinOrCardOrNoteFile>) -1 - -Coerces a window, card or notefile into a window which can have a prompt window. -(NCP.PrintMsg <window> <clearFirstFlg> <arg1> <arg2> ...) -1 - -Prints a message in the prompt window of <window>. If <window> is NIL, then prints message in the Lisp prompt window. If <clearFirstFlg> is non-nil, then clears the prompt window first. The args are PRIN1'ed one at a time. -(NCP.ClearMsg <window> <closePromptWinFlg> <WaitMsecs>) -1 - -Clears the prompt window associated with <window> (or with the main Lisp prompt window if <window> is NIL) and closes it if <closePromptWinFlg> is non-nil. The prompt window will not be cleared before the specified wait has expired. -(NCP.AskUser <Msg> <prompt> <FirstTry> <ClearFirstFlg> <MainWindow> <DontCloseAtEndFlg> <DontClearAtEndFlg> <PROMPTFORWORDFlg>) -1 - -This function can be used to ask questions of the user in a window's prompt window. The <Msg> and <prompt> are printed along with <FirstTry> (if non-nil). The value returned is whatever the user types. If <ClearFirstFlg> is non-nil, then the prompt window is cleared first. If <MainWindow> is nil, then the top level prompt window is used. If <DontCloseAtEndFlg> is non-nil, then the prompt window won't be closed after the question is answered and if <DontClearAtEndFlg> is non-nil, then the prompt window won't be cleared at the end. If <PROMPTFORWORDFlg> is non-nil, then the PROMPTFORWORD typein protocol will be used rather than TTYIN. The former doesn't allow mouse editing of the string typed in. On the other hand, typing automatically overwrites the prompt when PROMPTFORWORD is used. -(NCP.AskYesOrNo <Msg> <prompt> <FirstTry> <ClearFirstFlg> <MainWindow> <DontCloseAtEndFlg> <DontClearAtEndFlg>) -1 - -This function can be used to ask yes/no questions of the user in a window's prompt window. The fields are as in NCP.AskUser except that PROMPTFORWORD is always used so there is no Flg for that. -(NCP.CardDates <Card>) -1 - -Returns a NOTECARDDATES record structure containing the dates of last modification of each of the four card parts of <Card>. The fields of the record are SUBSTANCEDATE, TITLEDATE, LINKSDATE and PROPLISTDATE. -(NCP.DetermineDisplayRegion <card> <region/position>) -1 - -Returns the region that <card> would occupy if displayed. If <region/position> is NIL, then asks the user to position a ghost region to get the position. Also checks previous size of card or default heights and widths for the card type to find the size. If BringUpCardAtPreviousPos is on, then won't require positioning of ghost region even if <region/position> is NIL. -(NCP.SetUpTitleBar <CardWindow> <CardType>) -1 - -This function is usually called from the MakeFn for those card types that inherit from a card type that doesn't display in a window, like the List or NoteCard type. It creates and installs left and middle menus using the menu items found in <CardType>'s definition. It also installs a default button event fn on the window. -(NCP.LinkFromLinkIcon <linkIcon>) -1 - -If <linkIcon> is an image object for a link icon, then returns the associated link. Note that link icons can be obtained by calling the card type's CollectLinksFn (see the card types mechanism documentation). -(NCP.MakeLinkIcon <link>) -1 - -If <link> is a valid link, then creates and returns a new link icon image object containing it. -(NCP.MarkCardDirty <card> <resetFlg>) -1 - -Mark <card>'s substance as dirty thus forcing it to be written down at the next save. If <resetFlg> is non-nil, then unmark <card> as dirty. -(NCP.MarkAsNotNeedingFiling <card>) -1 - -Mark <card> as not needing filing. This is done by setting the card's Don'tRequireFilingFlg prop to T. -(NCP.CoerceToCard <cardIdentifier>) -1 - -Return the card object (if any) associated with <cardIdentifier> which can currently be any of: a card object, window or text stream. -(NCP.CollectCards <RootCards> <LinkTypes> <MaxDepth> <FollowCrossFileLinksFlg>) -1 - -Starting from <RootCards> and following links having types in <LinkTypes> to a maximum depth of <MaxDepth>, collect and return a list of all cards encountered. A value of NIL for <MaxDepth> causes search to be "infinitely" deep. <LinkTypes> and <FollowCrossFileLinksFlg> are as described in NCP.CardNeighbors. -(NCP.CopyCards <Cards> <DestNoteFileOrFileBox> <RootCards> <QuietFlg> <CopyExternalToLinksMode> <InterestedWindow>) -1 - -This copies all cards in <Cards> along with all links among them. If <CopyExternalToLinksMode> is 'COPY, external to-links will also be copied; if it is 'DON'TCOPY, external to-links will not be copied; and if it is NIL, the user will be asked if he/she wishes to copy these links. <DestNoteFileOrFileBox> designates a filebox in which to file the card copies. (If <DestNoteFileOrFileBox> is a notefile, then its Contents box is used.) <RootCards> should be a subset of Cards or NIL. If <RootCards> is NIL, then all the card copies are filed in the destination box, otherwise just those appearing in <RootCards>. If <RootCards> is the atom NONE, then none of the new cards will be filed in the destination filebox. <QuietFlg> cuts out the messages. Note that currently, <Cards> must all live in the same notefile, but this can be a different notefile from the destination notefile. <InterestedWindow> is a window used to attach a prompt window for messages. -(NCP.MoveCards <Cards> <DestNoteFileOrFileBox> <RootCards> <QuietFlg> <CopyExternalToLinksMode><InterestedWindow>) -1 - -This moves all cards in <Cards> along with all links among them. If <CopyExternalToLinksMode> is 'COPY, external to-links will also be copied; if it is 'DON'TCOPY, external to-links will not be copied; and if it is NIL, the user will be asked if he/she wishes to copy these links. <DestNoteFileOrFileBox> designates a filebox in which to file the card copies. (If <DestNoteFileOrFileBox> is a notefile, then its Contents box is used.) <RootCards> should be a subset of Cards or NIL. If <RootCards> is NIL, then all the card copies are filed in the destination box, otherwise just those appearing in <RootCards>. If <RootCards> is the atom NONE, then none of the new cards will be filed in the destination filebox. <QuietFlg> cuts out the messages. Note that currently, <Cards> must all live in the same notefile, but this can be a different notefile from the destination notefile. <InterestedWindow> is a window used to attach a prompt window for messages. -The following functions allow users to register cards by name for fast access. This is normally done using the card's notefile's system registry. Thus this registering is preserved over notefile closing. -(NCP.RegisterCardByName <Name> <Card> <RegistryCard>) -1 - -Stores <Card> in <RegistryCard> hashed under the name <Name>. If <RegistryCard> is nil, then use <Card>'s notefile's system registry. -(NCP.LookupCardByName <Name><NoteFIleOrRegistryCard>) -1 - -If <NoteFileOrRegistryCard> is a registry card, then recovers the card that was hashed under <Name>. If <NoteFileOrRegistryCard> is a notefile, then use its system registry. -(NCP.UnregisterName <Name><NoteFIleOrRegistryCard>) -1 - -If <NoteFileOrRegistryCard> is a registry card, then smashes whatever was stored under <Name>. If <NoteFileOrRegistryCard> is a notefile, then use its system registry. -(NCP.ListRegisteredCards <NoteFIleOrRegistryCard> <IncludeKeysFlg>) -1 - -If <NoteFileOrRegistryCard> is a registry card, then returns the list of cards hashed in it. If <NoteFileOrRegistryCard> is a notefile, then use its system registry. If <IncludeKeysFlg> is non-nil, then return list of cons pairs with car=Name and cdr=Card. -One can associate functionality with the opening and closing of notefiles using two special List cards registered under the names OpenEventsCard and CloseEventsCard. Their substances each consist of a list of lisp s-expressions to be evaluated at notefile open and close time respectively. Thus, to cause a new expression to be evaluated at notefile open time, one cons's (or appends) the expression to the substance of OpenEventsCard (either via DEdit or NCP.CardSubstance). Note that during the evaluation of the expressions, the atom NoteFile is bound to the notefile being opened or closed. When a notefile is closed, the expressions in the CloseEventsCard are evaluated both just before the notefile is closed, and after it is finished being closed. In this case, the atom When is bound to either 'Before or 'After, indicating when the expressions are evaluated with respect to the close operation. -(NCP.GetOpenEventsCard <NoteFIle>) -1 - -Returns the open events card for <NoteFile> creating a new one if necessary. Thus, this is basically just (NCP.LookupCardByName 'OpenEventsCard <NoteFile>), except that a new List card is created and registered under the name OpenEventsCard if none exists. -(NCP.GetCloseEventsCard <NoteFIle>) -1 - -Returns the close events card for <NoteFile> creating a new one if necessary. Thus, this is basically just (NCP.LookupCardByName 'CloseEventsCard <NoteFile>), except that a new List card is created and registered under the name CloseEventsCard if none exists. -Sometimes, it's nice to have a place to temporarily hang your hat, so to speak. For this purpose, we provide what are called UserProps for both card and notefile objects. These are temporary in that they vanish when the notefile closes. -(NCP.CardUserDataProp <Card><Prop> [<NewValue>]) -1 - -Returns the value under the <Prop> user data prop for <Card>. If <NewValue> is present, then value under <Card>'s <Prop> is reset. (That is, it works like WINDOWPROP or NCP.CardProp.) -(NCP.NoteFileProp <NoteFile><Prop> [<NewValue>]) -1 - -Returns the value under the <Prop> user data prop for <NoteFile>. If <NewValue> is present, then value under <NoteFile>'s <Prop> is reset. (That is, it works like WINDOWPROP or NCP.CardProp.) -(NCP.NoteFileAddProp <NoteFile><Prop> [<NewValue>]) -1 - -Returns the value under the <Prop> user data prop for <NoteFile>. If <NewValue> is present, then it is added to the list under <NoteFile>'s <Prop>. If <NoteFile> has no value under <Prop>, then <NewValue> is placed on that property as a list. (That is, it works like WINDOWADDPROP.) -Error breaks/messages under the programmer's interface: When the programmer's interface detects an error, it calls NCP.ReportError or NCP.ReportWarning depending on the severity of the error. Normally the former causes a break while the latter merely prints a message. However, this behavior can be changed using the global var NCP.ErrorBrkWhenFlg, a litatom whose value should be one of NIL, ALWAYS or NEVER (default is NIL). -(NCP.ReportError <Function><Message>) -1 - -Forces a break using BREAK1 unless the value of NCP.ErrorBrkWhenFlg is the litatom NEVER. If so, then simply prints a message and continues. -(NCP.ReportWarning <Function><Message>) -1 - -Prints the given warning message <Message> unless the value of NCP.ErrorBrkWhenFlg is the litatom ALWAYS. If so, then forces a break with BREAK1. -There are a few old functions preserved for backward compatibility, but we encourage users to rewrite all their code to use only functions described above. The old functions still available are: NCP.BringUpCard, NCP.ActivateCards, NCP.ActiveCardP, NCP.DeactivateCards, NCP.ValidCard, NCP.GetContentsFileBox, NCP.GetOrphansFileBox, NCP.GetToBeFiledFileBox, NCP.GetLinkSource, NCP.GetLinkDestination, NCP.CreateLinkLabel, NCP.DeleteLinkLabel, NCP.RenameLinkLabel, NCP.GetLinkLabels, NCP.GetUserLinkLabels, NCP.GetReverseLinkLabels, NCP.ValidLinkLabel, NCP.AddLeftButtonTitleBarMenuItems, NCP.AddMiddleButtonTitleBarMenuItems. - - -[This page intentionally left blank] -�����(LIST ((PAGE NIL (PAPERSIZE NIL STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 723) NIL))) (PAGE NIL (PAPERSIZE NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO NIL) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))�������-��������������������T�������������,�����������������������������������������5����������������������������������������5�����������������������������������������,������������������������������������-����� �����������������������T���������-����������������������������T���������-�����2�����������������������T���������-�����������������������������T���������-����������������������������T���������,�����������������������������������-���������������������������T���������-���������������������������T���������F������������������� PAGEHEADING� VERSOHEAD�������������������F������������������� PAGEHEADING� RECTOHEAD�������������������E����������������� PAGEHEADING�FOOTINGV�������������������E����������������� PAGEHEADING�FOOTINGR��������������������������MODERN����������MODERN� ���������MODERN� ����������MODERN� ���������MODERN����������MODERN� ������������������ HRULE.GETFN��MODERN� ������������������������3��������������� HRULE.GETFN��MODERN� ������������������������3�������������!��������������� HRULE.GETFN��MODERN� ������������������������!��������������� HRULE.GETFN��MODERN� ���������������������������� -��� ���������� -������������� ����� HRULE.GETFN��MODERN�������������������������� HRULE.GETFN��MODERN��������������������� ��� -���������� ����� HRULE.GETFN��MODERN��������������������� ������������� ���:���������� ���!���������� ���*���������� ���%���������� ���&���������� ���!���������� ���'���������� ���(���������� ���"�������������!���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������*���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���������������/���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������4���������� ����� HRULE.GETFN��MODERN� �������������������� ��e�������������A���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������I���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������2���������� ����� HRULE.GETFN��MODERN� �������������������� ���p�������������(���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������D���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������G���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���A�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���-����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���&����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���<������������� ���������� ����� HRULE.GETFN��MODERN� �������������������� ���7�������������/���������� ����� HRULE.GETFN��MODERN� �������������������� ������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���0�������������3���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������2���������� ����� HRULE.GETFN��MODERN� �������������������� ��@��������������������+���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���7���������� ����������������� BMOBJ.GETFN3��MODERN� ��������������������� ���������������"�� BMOBJ.GETFN3��MODERN� �������������������� ���&���������� ���7����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���6����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���8����������������������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ���������������� ��������������������������"��������������������������������������a�������������������������������� -�������������������������������������������� ����� HRULE.GETFN��MODERN� �������������������� ��"����������������������� ����� HRULE.GETFN��MODERN� ��������������������������������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���|����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���}����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���V�������������K���������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ���h�������������4���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������h���������� ����� HRULE.GETFN��MODERN� �������������������� ��:�������������E���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������6���������� ����� HRULE.GETFN��MODERN� �������������������� ���x�������������7���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������#���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� ����������������������� ���������� ����� HRULE.GETFN��MODERN� ��������������������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������0���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������0���������� ����� HRULE.GETFN��MODERN� �������������������� ��7�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���d����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���������������w���������� ����� HRULE.GETFN��MODERN� �������������������� ������������������������� ����� HRULE.GETFN��MODERN� �������������������� ������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���������������� �������������������� ���������������������������������������������'������������K�������������x���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������w���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ������������������������� ����� HRULE.GETFN��MODERN� �������������������� ��P�������������'���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ������������� ���������������;���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������0���������� ����� HRULE.GETFN��MODERN� �������������������� ���g�������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������F���������� ����� HRULE.GETFN��MODERN� �������������������� ��(�������������%���������� ����� HRULE.GETFN��MODERN� �������������������� ���K�������������2���������� ����� HRULE.GETFN��MODERN� �������������������� ���|����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���I����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���A���������� ��R����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���>����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���������������� ���������� ����� HRULE.GETFN��MODERN� �������������������� ���b����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���l����������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ���o�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ��_�������������3���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������:���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������b���������� ����� HRULE.GETFN��MODERN� �������������������� ��7���������� ���������������B���������� ����� HRULE.GETFN��MODERN� �������������������� ������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���)�������������.���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������.���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������3���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ��+�������������,���������� ����� HRULE.GETFN��MODERN� �������������������� ��m�������������)���������� ����� HRULE.GETFN��MODERN� �������������������� ��q����������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���w����������������������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���M�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���h����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���(����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���;�������������-���������� ����� HRULE.GETFN��MODERN� �������������������� ���d����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���7�������������8���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������G���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������!���������� ����� HRULE.GETFN��MODERN� ����������������������� ���������� ����� HRULE.GETFN��MODERN� �����������������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ��'�������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ���+�������������@���������� ����� HRULE.GETFN��MODERN� �������������������� ��{�������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ���a�������������U���������� ����� HRULE.GETFN��MODERN� �������������������� ��l�������������E���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������N���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������.���������� ����� HRULE.GETFN��MODERN� �������������������� ��b�������������0���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������&���������� ����� HRULE.GETFN��MODERN� �������������������� �����������������������������%���������� ����� HRULE.GETFN��MODERN� �������������������� ���b����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���.����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���3����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���O����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���=������������� ���������� ����� HRULE.GETFN��MODERN� �������������������� ���b����������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������9���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������G���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������(���������� ����� HRULE.GETFN��MODERN� �������������������� ���B�������������6���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������+���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������9���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���W�������������"���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���G�������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ���6�������������+���������� ����� HRULE.GETFN��MODERN� �������������������� ���E�������������)���������� ����� HRULE.GETFN��MODERN� �������������������� ��j���������� ���f�������������0���������� ����� HRULE.GETFN��MODERN� �������������������� ��W���������� ���5���������� ����������t�������������7���������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ���;���������� ����������?�������������)���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���!�������������(���������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ����������������;���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���:���������� ����������o�������������.���������� ����� HRULE.GETFN��MODERN� �������������������� ���D���������� ���<���������� ����������5����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���5����������������� ����������������>���������� ����� HRULE.GETFN��MODERN� �������������������� ��7�������������<���������� ����� HRULE.GETFN��MODERN� �������������������� �� ���������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ����������������N���������� ����� HRULE.GETFN��MODERN� �������������������� ��`�������������N���������� ����� HRULE.GETFN��MODERN� �������������������� ��A���������� ���e����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���]�������������k���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������/���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������1���������� ����� HRULE.GETFN��MODERN� �������������������� ���y������������������������������ ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ��1�������������#���������� ����� HRULE.GETFN��MODERN� �����������������������+���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������8���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������;���������� ����� HRULE.GETFN��MODERN� �������������������� �� ����������������������� ����� HRULE.GETFN��MODERN� �������������������� �� ����������������������� ����� HRULE.GETFN��MODERN� �������������������� ���������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ���A�������������/���������� ����� HRULE.GETFN��MODERN� �������������������� ���Q������� ������� ������� ���������������������������� �������+������� �������&�������������|���������� ����� HRULE.GETFN��MODERN� �������������������� ��%�������������.���������� ����� HRULE.GETFN��MODERN� �������������������� ��G��������������������&����������������������������������������(��������������������!�������������������� ���������� ���|�������������/���������� ����� HRULE.GETFN��MODERN� �������������������� ��O����������������������������������������������� ��������������������������� ���������������������������$�������������������� ������� �������������������� ������� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ������������������������������������������������������������������������������������������������������������2����������������������������������������������� -������������������������������������������������������ ��������������������������������������������������� ���x�������������5���������� ����� HRULE.GETFN��MODERN� �������������������� ���Q�������������:���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������8���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ��"�������������p���������� ����� HRULE.GETFN��MODERN� �������������������� �������������������������� ����� HRULE.GETFN��MODERN� �������������������� ����������������6���������� ����� HRULE.GETFN��MODERN� �������������������� ��s�������������-���������� ����� HRULE.GETFN��MODERN� �������������������� ��F�������������"���������� ����� HRULE.GETFN��MODERN� �������������������� ��������������������������������� ����� HRULE.GETFN��MODERN� �������������������� ���`�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ���u���������������������������%���������� ����� HRULE.GETFN��MODERN� �������������������� ���h�������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������P���������� ����� HRULE.GETFN��MODERN� �������������������� ��8�������������u���������� ����� HRULE.GETFN��MODERN� �������������������� ��?����������������������������������s���������� ����� HRULE.GETFN��MODERN� �������������������� ��>������������������������������� �����������������������6���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������6���������� ����� HRULE.GETFN��MODERN� �������������������� �����������������������4���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������E���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ���������������$���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���~������� �������i��������������������1���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������1���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������4���������� ����� HRULE.GETFN��MODERN� �������������������� ������������ ���6������y�������������&���������� ����� HRULE.GETFN��MODERN� �������������������� ����������������(���������� ����� HRULE.GETFN��MODERN� �������������������� ������������� ��q���������� �����������������������������%�����������������>{Cz \ No newline at end of file