comparison lisp/hyperbole/kotl/EXAMPLE.kotl @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 4103f0995bd7
children 4be1180a9e89
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 ;; -*- Mode: kotl -*- 1 ;; -*- Mode: kotl -*-
2 "Kotl-4.0" ;; file-format 2 "Kotl-4.0" ;; file-format
3  3 
4 1 The Koutliner is a part of the Hyperbole information management system. 4 1 The outliner is a part of the Hyperbole information management system.
5 InfoDock Associates, the developer of Hyperbole and InfoDock (an 5 It produces hierarchically structured files consisting of trees of
6 industrial quality turn-key version of XEmacs), sells high quality 6 cells.
7 commercial support, training, books and custom package development for 7
8 InfoDock, XEmacs or GNU Emacs on a variety of platforms. Contact us at 8 1a A cell is an element of the outline which has its own display label
9 <info@infodock.com> or visit our web site at http://www.infodock.com.
10
11 2 The Koutliner produces hierarchically structured files consisting of
12 trees of cells.
13
14 2a A cell is an element of the outline which has its own display label
15 and unique, permanent identifier (idstamp). 9 and unique, permanent identifier (idstamp).
16 10
17 2b Idstamps support the creation of hyperlinks to cells which are 11 1b Idstamps support the creation of hyperlinks to cells which are
18 maintained as the structure of an outline changes. 12 maintained as the structure of an outline changes.
19 13
20 3 Features implemented include: 14 2 Features implemented include:
21 15
22 3a Full on screen editing (just like a Macintosh). Click to type in a 16 2a Full on screen editing (just like a Macintosh). Click to type in a
23 node (we call them cells) and just enter text. Structure is 17 node (we call them cells) and just enter text. Structure is
24 automatically maintained for you. All of the standard Emacs editor 18 automatically maintained for you. All of the standard Emacs editor
25 command set is supported both through keyboard and mouse interaction. 19 command set is supported both through keyboard and mouse interaction.
26 20
27 3b Advanced outline processing 21 2b Advanced outline processing
28 22
29 3b1 Autonumbering: Full auto-numbering in Augment (1a2) or legal 23 2b1 Autonumbering: Full auto-numbering in Augment (1a2) or legal
30 (1.1.2) formats. Augment style is the default. Single level 24 (1.1.2) formats. Augment style is the default. Single level
31 autonumbering (only the last part of the level number is shown), 25 autonumbering (only the last part of the level number is shown),
32 as commonly seen in outliner products, is also available, though 26 as commonly seen in outliner products, is also available, though
33 it has not been tested very much and so is not recommended. Use 27 it has not been tested very much and so is not recommended. Use
34 {C-c C-l ?} to see the full set of label types and to select a 28 {C-c C-l ?} to see the full set of label types and to select a
35 different label type. 29 different label type.
36 30
37 3b2 Label Separators: By default, the outliner separates labels from 31 2b2 Label Separators: By default, the outliner separates labels from
38 cell contents by two spaces. If you want to change the separator 32 cell contents by two spaces. If you want to change the separator
39 for the current outline, use {C-c M-l}. {C-u C-c M-l} will 33 for the current outline, use {C-c M-l}. {C-u C-c M-l} will
40 additionally change the default separator value used when new 34 additionally change the default separator value used when new
41 outlines are created. For example, use the value ". " to get a 35 outlines are created. For example, use the value ". " to get a
42 trailing period after each cell label. The separator must be at 36 trailing period after each cell label. The separator must be at
43 least two characters long. 37 least two characters long.
44 38
45 3b3 Cell Creation: {C-j} adds a new cell as a sibling following the 39 2b3 Cell Creation: {C-j} adds a new cell as a sibling following the
46 current cell. A non-negative prefix argument, {C-u C-j} or {C-c 40 current cell. A non-negative prefix argument, {C-u C-j} or {C-c
47 a} adds the cell as a child of the current cell. {C-c p} adds the 41 a} adds the cell as a child of the current cell. {C-c p} adds the
48 cell as the sibling of the current cell's parent. 42 cell as the sibling of the current cell's parent.
49 43
50 3b4 Cell and Tree Deletion: {C-c C-k} kills the current cell and its 44 2b4 Cell and Tree Deletion: {C-c C-k} kills the current cell and its
51 entire subtree. {C-c k} kills the contents of a cell from point 45 entire subtree. {C-c k} kills the contents of a cell from point
52 through the end of the cell. {C-u C-c k} kills the entire 46 through the end of the cell. {C-u C-c k} kills the entire
53 contents of the cell regardless of the location of point. You may 47 contents of the cell regardless of the location of point. You may
54 then yank the contents into another cell with {C-y}. 48 then yank the contents into another cell with {C-y}.
55 49
56 3b5 Tree Demotion and Promotion: Trees may be demoted or promoted by 50 2b5 Tree Demotion and Promotion: Trees may be demoted or promoted by
57 hitting {TAB} or {M-TAB} respectively, as in most outliners today 51 hitting {TAB} or {M-TAB} respectively, as in most outliners today
58 (their sub-levels move with them). {M-0 TAB} and {M-0 M-TAB} will 52 (their sub-levels move with them). {M-0 TAB} and {M-0 M-TAB} will
59 demote and promote trees and will additionally refill each cell 53 demote and promote trees and will additionally refill each cell
60 which has not been specially marked to prevent refilling. 54 which has not been specially marked to prevent refilling.
61 55
62 You can also use a command line interface and either enter cell 56 You can also use a command line interface and either enter cell
63 ids or select the cells to operate upon by using your mouse. 57 ids or select the cells to operate upon by using your mouse.
64 58
65 3b6 Cell and Tree Filling: {M-q} or {M-j} refills a paragraph within a 59 2b6 Cell and Tree Filling: {M-q} or {M-j} refills a paragraph within a
66 cell so that its lines wrap within the current margin settings. 60 cell so that its lines wrap within the current margin settings.
67 {C-c M-q} or {C-c M-j} refills all paragraphs within a cell. 61 {C-c M-q} or {C-c M-j} refills all paragraphs within a cell.
68 {C-M-q} or {C-M-j} refills all cells within a tree. 62 {C-M-q} or {C-M-j} refills all cells within a tree.
69 63
70 Set the variable, kotl-mode:refill-flag, to t if you want moving, 64 Set the variable, kotl-mode:refill-flag, to t if you want moving,
71 promoting, demoting, exchanging, splitting and appending cells to 65 promoting, demoting, exchanging, splitting and appending cells to
72 also automatically refill each cell. 66 also automatically refill each cell.
73 67
74 3b7 Cursor Movement: In addition to normal Emacs movement commands, 68 2b7 Cursor Movement: In addition to normal Emacs movement commands,
75 you can move within a cell or from one cell or tree to another. 69 you can move within a cell or from one cell or tree to another.
76 70
77 {C-c ,} - Move to the beginning of the current cell. 71 {C-c ,} - Move to the beginning of the current cell.
78 {C-c .} - Move to the end of the current cell. 72 {C-c .} - Move to the end of the current cell.
79 73
91 {C-c >} - Move to the last sibling at the current level. 85 {C-c >} - Move to the last sibling at the current level.
92 86
93 {C-c ^} - Move to the level 1 root of the current tree. 87 {C-c ^} - Move to the level 1 root of the current tree.
94 {C-c $} - Move to the last cell in the tree rooted at point. 88 {C-c $} - Move to the last cell in the tree rooted at point.
95 89
96 3b8 Tree Movement and Copying: Entire outline trees can be moved or 90 2b8 Tree Movement and Copying: Entire outline trees can be moved or
97 copied with single commands. Simply invoke the desired command 91 copied with single commands. Simply invoke the desired command
98 and then double click with the Action Key on the desired root cell 92 and then double click with the Action Key on the desired root cell
99 for each argument for which you are prompted. 93 for each argument for which you are prompted.
100 94
101 Copying and moving only work within a single outline right now, so 95 Copying and moving only work within a single outline right now, so
121 indentation to the left of a cell text and you will be prompted 115 indentation to the left of a cell text and you will be prompted
122 for a tree to move. Double click the Action Key within the body 116 for a tree to move. Double click the Action Key within the body
123 of the root cell of the tree to move and then double click within 117 of the root cell of the tree to move and then double click within
124 the body of the root cell of the tree you want it to follow. 118 the body of the root cell of the tree you want it to follow.
125 119
126 3b9 Cell Transposition: The move and copy commands rearrange entire 120 2b9 Cell Transposition: The move and copy commands rearrange entire
127 trees. The following two commands exchange the locations of two 121 trees. The following two commands exchange the locations of two
128 cells. 122 cells.
129 123
130 3b9a {C-c e} prompts for two cell addresses and exchanges the cells. 124 2b9a {C-c e} prompts for two cell addresses and exchanges the cells.
131 125
132 3b9b {C-c t} does not prompt. It exchanges the current and 126 2b9b {C-c t} does not prompt. It exchanges the current and
133 preceding cells. If there is no preceding cell it exchanges 127 preceding cells. If there is no preceding cell it exchanges
134 the current and next cell. 128 the current and next cell.
135 129
136 {C-c t} with a prefix argument of zero exchanges the cells in 130 {C-c t} with a prefix argument of zero exchanges the cells in
137 which point and mark fall. 131 which point and mark fall.
139 {C-c t} with a non-zero numeric prefix argument, N, moves 133 {C-c t} with a non-zero numeric prefix argument, N, moves
140 the current tree past maximally the next N visible cells. If 134 the current tree past maximally the next N visible cells. If
141 there are fewer visible, it makes the current cell the last 135 there are fewer visible, it makes the current cell the last
142 cell in the outline. 136 cell in the outline.
143 137
144 3b10 Cell Splitting: You can split one cell into two adjacent cells 138 2b10 Cell Splitting: You can split one cell into two adjacent cells
145 with {C-c s}. This leaves the cell contents preceding point in 139 with {C-c s}. This leaves the cell contents preceding point in
146 the current cell, minus any trailing whitespace, and moves the 140 the current cell, minus any trailing whitespace, and moves the
147 contents following point to a new sibling cell which is inserted 141 contents following point to a new sibling cell which is inserted
148 into the outline. {C-u C-c s} adds the new cell as the first 142 into the outline. {C-u C-c s} adds the new cell as the first
149 child of the original cell, rather than as its sibling. 143 child of the original cell, rather than as its sibling.
150 144
151 All cell attributes in the original cell are propagated to the new 145 All cell attributes in the original cell are propagated to the new
152 one. 146 one.
153 147
154 3b11 Cell Appending: {C-c +} appends the contents of a specified cell 148 2b11 Cell Appending: {C-c +} appends the contents of a specified cell
155 to the end of another cell. 149 to the end of another cell.
156 150
157 3b12 Hiding and Showing: Individual cells, branches, or particular 151 2b12 Hiding and Showing: Individual cells, branches, or particular
158 levels in the outline may be hidden or shown. These commands work 152 levels in the outline may be hidden or shown. These commands work
159 even when an outline buffer is read-only, e.g. when its file is 153 even when an outline buffer is read-only, e.g. when its file is
160 not checked out of a version control system yet. 154 not checked out of a version control system yet.
161 155
162 3b12a {C-c C-h} - Hide (collapse) tree rooted at point. 156 2b12a {C-c C-h} - Hide (collapse) tree rooted at point.
163 {C-c C-s} - Show (expand) tree rooted at point. 157 {C-c C-s} - Show (expand) tree rooted at point.
164 158
165 {C-c C-a} - Show (expand) all cells in the outline. 159 {C-c C-a} - Show (expand) all cells in the outline.
166 {C-x $} - Show all cells down to a particular level. The 160 {C-x $} - Show all cells down to a particular level. The
167 user is prompted for the level or a prefix 161 user is prompted for the level or a prefix
172 166
173 {C-c C-o} - Overview, show only first line of outline cells. 167 {C-c C-o} - Overview, show only first line of outline cells.
174 {C-c C-t} - Top-level, hide all cells below level 1 and show 168 {C-c C-t} - Top-level, hide all cells below level 1 and show
175 only the first line of each level 1 cell. 169 only the first line of each level 1 cell.
176 170
177 3b12b A click or press of the Action Key within a cell's body, but 171 2b12b A click or press of the Action Key within a cell's body, but
178 not on a button, toggles between hiding and showing the tree 172 not on a button, toggles between hiding and showing the tree
179 rooted at point. 173 rooted at point.
180 174
181 3b13 Cell Identifiers: Permanent ids are associated with each cell and 175 2b13 Cell Identifiers: Permanent ids are associated with each cell and
182 can be used in hyperlinks that are maintained as cells are 176 can be used in hyperlinks that are maintained as cells are
183 reordered in a file. (These ids may also be displayed in place of 177 reordered in a file. (These ids may also be displayed in place of
184 the outline level relative ids. Use {C-c C-l id RET}.) Permanent 178 the outline level relative ids. Use {C-c C-l id RET}.) Permanent
185 ids are numbered from 0, where 0 is the root node of the entire 179 ids are numbered from 0, where 0 is the root node of the entire
186 outline. This node is never visible within the outline. 180 outline. This node is never visible within the outline.
187 Permanent ids always begin with a 0, as in 012, to distinguish 181 Permanent ids always begin with a 0, as in 012, to distinguish
188 them from relative ids. 182 them from relative ids.
189 183
190 3b14 Cell Attributes: Each cell has its own attribute list. The 184 2b14 Cell Attributes: Each cell has its own attribute list. The
191 attribute lists for the cells in the tree rooted at point can be 185 attribute lists for the cells in the tree rooted at point can be
192 displayed by pressing the Assist Key. {C-c h} prompts for a kcell 186 displayed by pressing the Assist Key. {C-c h} prompts for a kcell
193 id and displays its attributes. {C-u C-c h} prompts for a kcell 187 id and displays its attributes. {C-u C-c h} prompts for a kcell
194 id and displays the attributes for it and its subtree; use 0 as 188 id and displays the attributes for it and its subtree; use 0 as
195 the kcell id to see attributes for all visible cells in the 189 the kcell id to see attributes for all visible cells in the
196 outline. 190 outline.
197 191
198 Use {C-c C-i} to add an attribute or to modify an existing 192 Use {C-c C-i} to add an attribute or to modify an existing
199 attribute to the cell at point. 193 attribute to the cell at point.
200 194
201 3b15 File Insertion: The elements of another buffer or file may be 195 2b15 File Insertion: The elements of another buffer or file may be
202 inserted into a koutline as a set of cells by using the {C-x i} 196 inserted into a koutline as a set of cells by using the {C-x i}
203 command. When prompted, you may use a buffer name or file name 197 command. When prompted, you may use a buffer name or file name
204 from which to insert. 198 from which to insert.
205 199
206 3b15a The cells will be inserted as the successors of the current 200 2b15a The cells will be inserted as the successors of the current
207 cell unless {C-u C-x i} is used and then they are inserted as 201 cell unless {C-u C-x i} is used and then they are inserted as
208 the initial children of the current cell. 202 the initial children of the current cell.
209 203
210 3b15b See the documentation for the variables, kimport:mode-alist and 204 2b15b See the documentation for the variables, kimport:mode-alist and
211 kimport:suffix-alist, for information on mode and 205 kimport:suffix-alist, for information on mode and
212 suffix-specific conversions performed on files before they are 206 suffix-specific conversions performed on files before they are
213 inserted. This same conversion process applies if you invoke 207 inserted. This same conversion process applies if you invoke
214 {M-x kotl-mode RET} in a non-koutline buffer or if you perform 208 {M-x kotl-mode RET} in a non-koutline buffer or if you perform
215 a generic file import as described in <@ 2b16>. 209 a generic file import as described in <@ 2b16>.
216 210
217 3b15c Use {M-x kotl-mode:insert-file-contents RET} to insert the 211 2b15c Use {M-x kotl-mode:insert-file-contents RET} to insert the
218 entire contents of a file into the current cell at the location 212 entire contents of a file into the current cell at the location
219 of point. 213 of point.
220 214
221 3b16 File Importation: The outliner presently supports conversion of 215 2b16 File Importation: The outliner presently supports conversion of
222 three types of files into koutline files. You can choose to 216 three types of files into koutline files. You can choose to
223 import a file into an existing koutline, following the tree at 217 import a file into an existing koutline, following the tree at
224 point, or to create a new koutline of the imported file contents. 218 point, or to create a new koutline of the imported file contents.
225 {M-x kimport:file RET} will select the importation type based on 219 {M-x kimport:file RET} will select the importation type based on
226 the buffer or file name suffix of the file to import. Use one of 220 the buffer or file name suffix of the file to import. Use one of
227 the following commands if you want to control the type of 221 the following commands if you want to control the type of
228 importation explicitly. 222 importation explicitly.
229 223
230 3b16a Text Files 224 2b16a Text Files
231 225
232 3b16a1 In a text buffer, use {M-x kotl-mode RET} to convert 226 2b16a1 In a text buffer, use {M-x kotl-mode RET} to convert
233 the buffer into a koutline in-place. You will lose the old 227 the buffer into a koutline in-place. You will lose the old
234 format of the buffer when you do this. 228 format of the buffer when you do this.
235 229
236 3b16a2 Use {M-x kimport:text RET} and you will be prompted for a 230 2b16a2 Use {M-x kimport:text RET} and you will be prompted for a
237 text buffer or file to import and the new koutline buffer or 231 text buffer or file to import and the new koutline buffer or
238 file to create from its text. It will also import the 232 file to create from its text. It will also import the
239 contents, attributes and level structure of cells from a 233 contents, attributes and level structure of cells from a
240 koutline. 234 koutline.
241 235
242 With this command, your original file remains intact. 236 With this command, your original file remains intact.
243 237
244 3b16b Star Outline Files: Star outlines are standard Emacs outlines 238 2b16b Star Outline Files: Star outlines are standard Emacs outlines
245 where each entry begins with one or more asterisk characters. 239 where each entry begins with one or more asterisk characters.
246 Use {M-x kimport:star-outline RET} and you will be prompted 240 Use {M-x kimport:star-outline RET} and you will be prompted
247 for the star outline buffer or file to import and the new 241 for the star outline buffer or file to import and the new
248 koutline buffer or file to create. 242 koutline buffer or file to create.
249 243
250 3b16c Augment Files Numbered on the Right-Side: (Skip this if you are 244 2b16c Augment Files Numbered on the Right-Side: (Skip this if you are
251 unfamiliar with this sort of file.) Files exported from the 245 unfamiliar with this sort of file.) Files exported from the
252 Augment system as text often have alphanumeric statement 246 Augment system as text often have alphanumeric statement
253 identifiers on the right side. 247 identifiers on the right side.
254 248
255 Use {M-x kimport:aug-post-outline RET} and you will be prompted 249 Use {M-x kimport:aug-post-outline RET} and you will be prompted
256 for the augment buffer or file to import and the koutline to 250 for the augment buffer or file to import and the koutline to
257 create. 251 create.
258 252
259 3b17 View Specification: Flexible views of outlines may be specified 253 2b17 View Specification: Flexible views of outlines may be specified
260 with succinct single character codes. 254 with succinct single character codes.
261 255
262 3b17a The current view spec is shown in the modeline after the buffer 256 2b17a The current view spec is shown in the modeline after the buffer
263 name, delimited by <|>. 257 name, delimited by <|>.
264 258
265 3b17b The current view spec is saved whenever the outline is saved. 259 2b17b The current view spec is saved whenever the outline is saved.
266 The next time the outline is read in, this will be the initial 260 The next time the outline is read in, this will be the initial
267 view. The standard initial viewspec is <|ben>. 261 view. The standard initial viewspec is <|ben>.
268 262
269 3b17c {C-c C-v} prompts for a view spec string in which the following 263 2b17c {C-c C-v} prompts for a view spec string in which the following
270 codes are valid. Any invalid characters in a view spec are 264 codes are valid. Any invalid characters in a view spec are
271 ignored. 265 ignored.
272 266
273 3b17c1 a: Show all cell levels and all lines in cells. 267 2b17c1 a: Show all cell levels and all lines in cells.
274 268
275 3b17c2 b: Turn on blank lines between cells. Without this code, 269 2b17c2 b: Turn on blank lines between cells. Without this code,
276 blank lines will be turned off. You can also use the 270 blank lines will be turned off. You can also use the
277 {C-c b} key binding to toggle line numbers on and off 271 {C-c b} key binding to toggle line numbers on and off
278 independent of any other view settings. 272 independent of any other view settings.
279 273
280 3b17c3 cN: Hide any lines greater than N in each cell. 0 means 274 2b17c3 cN: Hide any lines greater than N in each cell. 0 means
281 don't cutoff any lines. 275 don't cutoff any lines.
282 276
283 3b17c4 e: Show ellipses when some content is hidden. 277 2b17c4 e: Show ellipses when some content is hidden.
284 278
285 3b17c5 lN: Hide cells at levels deeper than N. 0 means don't hide 279 2b17c5 lN: Hide cells at levels deeper than N. 0 means don't hide
286 any cells. 280 any cells.
287 281
288 3b17c6 n: Turn on the default label type. 282 2b17c6 n: Turn on the default label type.
289 n0: Display idstamps. 283 n0: Display idstamps.
290 n1: Display alpha labels. 284 n1: Display alpha labels.
291 n2: Display partial alpha labels (don't use this). 285 n2: Display partial alpha labels (don't use this).
292 n.: Display legal labels. 286 n.: Display legal labels.
293 n*: Display star labels. 287 n*: Display star labels.
294 n~: Turn off labels. (n viewspec is removed from modeline). 288 n~: Turn off labels. (n viewspec is removed from modeline).
295 289
296 3b17d Try a view spec of `c2l1' to turn off blank lines, to clip each 290 2b17d Try a view spec of 'c2l1' to turn off blank lines, to clip each
297 cell after its second line, and to hide all cells below level 291 cell after its second line, and to hide all cells below level
298 one. 292 one.
299 293
300 3c Hyperlinks may be embedded in cells and may refer to other cells. 294 2c Hyperlinks may be embedded in cells and may refer to other cells.
301 Explicit Hyperbole buttons may be created as usual via mouse drags, 295 Explicit Hyperbole buttons may be created as usual via mouse drags,
302 see "(hyperbole.info)By Dragging". A klink is a special implicit 296 see "(hyperbole.info)By Dragging". A klink is a special implicit
303 link button that jumps to a specific outline cell. 297 link button that jumps to a specific outline cell.
304 298
305 3c1 Here are three klink examples: 299 2c1 Here are three klink examples:
306 300
307 3c1a <@ 3b=06> jumps to the cell within this outline which has 301 2c1a <@ 2b=06> jumps to the cell within this outline which has
308 permanent id `06' and relative id `2b', namely the preceding 302 permanent id `06' and relative id `2b', namely the preceding
309 sibling of this cell's parent. <@ 06> does the same thing, as 303 sibling of this cell's parent. <@ 06> does the same thing, as
310 does <@ 2b>, though this latter form will not maintain the link 304 does <@ 2b>, though this latter form will not maintain the link
311 properly if the cell is moved elsewhere within the outline. 305 properly if the cell is moved elsewhere within the outline.
312 306
313 3c1b <EXAMPLE.kotl, 4=012 |c1e> displays the named file, starting at 307 2c1b <EXAMPLE.kotl, 3=012 |c1e> displays the named file, starting at
314 the unimplemented features section whose permanent identifer is 308 the unimplemented features section whose permanent identifer is
315 012, with the view specification of: blank lines turned off, 309 012, with the view specification of: blank lines turned off,
316 cutoff after one line per cell, and show ellipses for cells or 310 cutoff after one line per cell, and show ellipses for cells or
317 trees which are clipped. 311 trees which are clipped.
318 312
319 3c1c <|ben> is a klink consisting of just a view specification. 313 2c1c <|ben> is a klink consisting of just a view specification.
320 When activated, it sets the view in the current outline to 314 When activated, it sets the view in the current outline to
321 display blank lines, ellipses following collapsed lines and 315 display blank lines, ellipses following collapsed lines and
322 standard alphanumeric numbering. 316 standard alphanumeric numbering.
323 317
324 3c2 There are a number of easy ways to insert klinks into koutlines. 318 2c2 There are a number of easy ways to insert klinks into koutlines.
325 If you have mouse support under Hyperbole, simply click the Action 319 If you have mouse support under Hyperbole, simply click the Action
326 Key within the indentation to the left of a cell text. If you 320 Key within the indentation to the left of a cell text. If you
327 then double click on some cell, a link to that cell will be 321 then double click on some cell, a link to that cell will be
328 inserted where you started. From a keyboard, use {C-c l} when in 322 inserted where you started. From a keyboard, use {C-c l} when in
329 a koutline or {C-h h o l} when not in a koutline to insert a 323 a koutline or {C-h h o l} when not in a koutline to insert a
330 klink. 324 klink.
331 325
332 3d The outliner code runs on virtually any UNIX system. It supports dumb 326 2d The outliner code runs on virtually any UNIX system. It supports dumb
333 terminal, X window, and NEXTSTEP (Display Postscript) displays. 327 terminal, X window, and NEXTSTEP (Display Postscript) displays.
334 328
335 4 Features remaining to be implemented: 329 3 Features remaining to be implemented:
336 330
337 4a Branch handling commands (all cells at same level). 331 3a Branch handling commands (all cells at same level).
338 332
339 4b Copying a single cell without its subtree. 333 3b Copying a single cell without its subtree.
340 334
341 4c Replacing one cell or one tree with another. 335 3c Replacing one cell or one tree with another.
342 336
343 4d Transposing two trees, rather than two cells. 337 3d Transposing two trees, rather than two cells.
344 338
345 4e A small amount of work remains to enable setting different per level 339 3e A small amount of work remains to enable setting different per level
346 fonts and colors, so that outline levels are visually easy to 340 fonts and colors, so that outline levels are visually easy to
347 distinguish. 341 distinguish.
348 342
349 4f Flexible view handling has been only partially implemented. 343 3f Flexible view handling has been only partially implemented.
350 344
351 4g The code to export from koutlines to other formats has not yet been 345 3g The code to export from koutlines to other formats has not yet been
352 written. Exporting to HTML, for example would be very useful. 346 written. Exporting to HTML, for example would be very useful.
353 347
354  348 
355 "ben" ;; kvspec:current 349 "ben" ;; kvspec:current
356 75 ;; id-counter 350 74 ;; id-counter
357 alpha ;; label-type 351 alpha ;; label-type
358 3 ;; label-min-width 352 3 ;; label-min-width
359 " " ;; label-separator 353 " " ;; label-separator
360 3 ;; level-indent 354 3 ;; level-indent
361  355 
362 ;; depth-first kcell attributes 356 ;; depth-first kcell attributes
363 [[0 357 [[0
364 (creator "weiner@infodock.com" create-time "19970219:03:24:19" id-counter 75 file "/home/infodock/lisp/hyperbole/kotl/EXAMPLE.kotl")] 358 (creator "weiner@oakhill.sps.mot.com" create-time "19951102:11:15:03" id-counter 74 file "/usr1/dingus/weiner/hypb/kotl/EXAMPLE.kotl")]
365 [20 359 [20
366 (creator "weiner@infodock.com" create-time "19940104:17:38:28" no-fill t)] 360 (creator "weiner" create-time "19940104:17:38:28")]
367 [75
368 (idstamp 20 creator "weiner@infodock.com" create-time "19940104:17:38:28" no-fill t)]
369 [34 361 [34
370 (creator "weiner@infodock.com" create-time "19940610:16:43:55")] 362 (creator "weiner@pts.mot.com" create-time "19940610:16:43:55")]
371 [35 363 [35
372 (creator "weiner@infodock.com" create-time "19940610:16:44:03")] 364 (creator "weiner@pts.mot.com" create-time "19940610:16:44:03")]
373 [4 365 [4
374 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 366 (creator "weiner" create-time "19940104:17:38:29")]
375 [5 367 [5
376 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 368 (creator "weiner" create-time "19940104:17:38:29")]
377 [6 369 [6
378 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 370 (creator "weiner" create-time "19940104:17:38:29")]
379 [14 371 [14
380 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 372 (creator "weiner" create-time "19940104:17:38:29")]
381 [67 373 [67
382 (creator "weiner@infodock.com" create-time "19951028:04:29:13" no-fill t)] 374 (creator "weiner@oakhill.sps.mot.com" create-time "19951028:04:29:13" no-fill t)]
383 [15 375 [15
384 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 376 (creator "weiner" create-time "19940104:17:38:29")]
385 [31 377 [31
386 (creator "weiner@infodock.com" create-time "19940306:18:11:43")] 378 (creator "weiner" create-time "19940306:18:11:43")]
387 [7 379 [7
388 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 380 (creator "weiner" create-time "19940104:17:38:29")]
389 [46 381 [46
390 (creator "weiner@infodock.com" create-time "19950614:21:35:17")] 382 (creator "weiner@oakhill.sps.mot.com" create-time "19950614:21:35:17")]
391 [43 383 [43
392 (creator "weiner@infodock.com" create-time "19940610:22:00:46")] 384 (creator "weiner@pts.mot.com" create-time "19940610:22:00:46")]
393 [22 385 [22
394 (creator "weiner@infodock.com" create-time "19940127:22:41:42")] 386 (creator "weiner" create-time "19940127:22:41:42")]
395 [32 387 [32
396 (creator "weiner@infodock.com" create-time "19940610:16:31:28")] 388 (creator "weiner@pts.mot.com" create-time "19940610:16:31:28")]
397 [41 389 [41
398 (creator "weiner@infodock.com" create-time "19940610:18:55:09")] 390 (creator "weiner@pts.mot.com" create-time "19940610:18:55:09")]
399 [42 391 [42
400 (creator "weiner@infodock.com" create-time "19940610:18:55:57")] 392 (creator "weiner@pts.mot.com" create-time "19940610:18:55:57")]
401 [33 393 [33
402 (creator "weiner@infodock.com" create-time "19940610:16:31:29")] 394 (creator "weiner@pts.mot.com" create-time "19940610:16:31:29")]
403 [47 395 [47
404 (creator "weiner@infodock.com" create-time "19951022:22:59:26" no-fill t)] 396 (creator "weiner@oakhill.sps.mot.com" create-time "19951022:22:59:26" no-fill t)]
405 [8 397 [8
406 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 398 (creator "weiner" create-time "19940104:17:38:29")]
407 [28 399 [28
408 (creator "weiner@infodock.com" create-time "19940128:22:50:44")] 400 (creator "weiner" create-time "19940128:22:50:44")]
409 [29 401 [29
410 (creator "weiner@infodock.com" create-time "19940128:22:50:54")] 402 (creator "weiner" create-time "19940128:22:50:54")]
411 [10 403 [10
412 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 404 (creator "weiner" create-time "19940104:17:38:29")]
413 [30 405 [30
414 (creator "weiner@infodock.com" create-time "19940129:00:27:59")] 406 (creator "weiner" create-time "19940129:00:27:59")]
415 [62 407 [62
416 (creator "weiner@infodock.com" create-time "19951026:08:32:57" no-fill t)] 408 (creator "weiner@oakhill.sps.mot.com" create-time "19951026:08:32:57" no-fill t)]
417 [70 409 [70
418 (creator "weiner@infodock.com" create-time "19951030:19:18:49" no-fill t)] 410 (creator "weiner@oakhill.sps.mot.com" create-time "19951030:19:18:49" no-fill t)]
419 [71 411 [71
420 (creator "weiner@infodock.com" create-time "19951030:19:19:40" no-fill t)] 412 (creator "weiner@oakhill.sps.mot.com" create-time "19951030:19:19:40" no-fill t)]
421 [73 413 [73
422 (creator "weiner@infodock.com" create-time "19951030:19:23:09" no-fill t)] 414 (creator "weiner@oakhill.sps.mot.com" create-time "19951030:19:23:09" no-fill t)]
423 [63 415 [63
424 (creator "weiner@infodock.com" create-time "19951026:19:31:34" no-fill t)] 416 (creator "weiner@oakhill.sps.mot.com" create-time "19951026:19:31:34" no-fill t)]
425 [64 417 [64
426 (creator "weiner@infodock.com" create-time "19951026:19:33:01" no-fill t)] 418 (creator "weiner@oakhill.sps.mot.com" create-time "19951026:19:33:01" no-fill t)]
427 [69 419 [69
428 (creator "weiner@infodock.com" create-time "19951029:06:24:35" no-fill t)] 420 (creator "weiner@oakhill.sps.mot.com" create-time "19951029:06:24:35" no-fill t)]
429 [68 421 [68
430 (creator "weiner@infodock.com" create-time "19951029:06:24:27" no-fill t)] 422 (creator "weiner@oakhill.sps.mot.com" create-time "19951029:06:24:27" no-fill t)]
431 [65 423 [65
432 (creator "weiner@infodock.com" create-time "19951026:19:33:08" no-fill t)] 424 (creator "weiner@oakhill.sps.mot.com" create-time "19951026:19:33:08" no-fill t)]
433 [66 425 [66
434 (creator "weiner@infodock.com" create-time "19951026:19:33:15" no-fill t)] 426 (creator "weiner@oakhill.sps.mot.com" create-time "19951026:19:33:15" no-fill t)]
435 [48 427 [48
436 (creator "weiner@infodock.com" create-time "19951023:05:55:19" no-fill t)] 428 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:05:55:19" no-fill t)]
437 [57 429 [57
438 (creator "weiner@infodock.com" create-time "19951023:10:07:06" no-fill t)] 430 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:10:07:06" no-fill t)]
439 [58 431 [58
440 (creator "weiner@infodock.com" create-time "19951023:10:07:26" no-fill t)] 432 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:10:07:26" no-fill t)]
441 [49 433 [49
442 (creator "weiner@infodock.com" create-time "19951023:05:55:55" no-fill t)] 434 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:05:55:55" no-fill t)]
443 [55 435 [55
444 (creator "weiner@infodock.com" create-time "19951023:08:56:41" no-fill t)] 436 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:08:56:41" no-fill t)]
445 [50 437 [50
446 (creator "weiner@infodock.com" create-time "19951023:05:57:26" no-fill t)] 438 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:05:57:26" no-fill t)]
447 [51 439 [51
448 (creator "weiner@infodock.com" create-time "19951023:05:58:31" no-fill t)] 440 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:05:58:31" no-fill t)]
449 [56 441 [56
450 (creator "weiner@infodock.com" create-time "19951023:08:57:09" no-fill t)] 442 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:08:57:09" no-fill t)]
451 [52 443 [52
452 (creator "weiner@infodock.com" create-time "19951023:05:59:59" no-fill t)] 444 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:05:59:59" no-fill t)]
453 [53 445 [53
454 (creator "weiner@infodock.com" create-time "19951023:06:00:48" no-fill t)] 446 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:06:00:48" no-fill t)]
455 [54 447 [54
456 (creator "weiner@infodock.com" create-time "19951023:06:05:50" no-fill t)] 448 (creator "weiner@oakhill.sps.mot.com" create-time "19951023:06:05:50" no-fill t)]
457 [26 449 [26
458 (creator "weiner@infodock.com" create-time "19940128:03:56:23")] 450 (creator "weiner" create-time "19940128:03:56:23")]
459 [27 451 [27
460 (creator "weiner@infodock.com" create-time "19940128:22:36:54")] 452 (creator "weiner" create-time "19940128:22:36:54")]
461 [59 453 [59
462 (creator "weiner@infodock.com" create-time "19951024:03:40:05" no-fill t)] 454 (creator "weiner@oakhill.sps.mot.com" create-time "19951024:03:40:05" no-fill t)]
463 [60 455 [60
464 (creator "weiner@infodock.com" create-time "19951024:03:40:13" no-fill t)] 456 (creator "weiner@oakhill.sps.mot.com" create-time "19951024:03:40:13" no-fill t)]
465 [61 457 [61
466 (creator "weiner@infodock.com" create-time "19951024:03:40:42" no-fill t)] 458 (creator "weiner@oakhill.sps.mot.com" create-time "19951024:03:40:42" no-fill t)]
467 [1 459 [1
468 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 460 (creator "weiner" create-time "19940104:17:38:29")]
469 [11 461 [11
470 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 462 (creator "weiner" create-time "19940104:17:38:29")]
471 [12 463 [12
472 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 464 (creator "weiner" create-time "19940104:17:38:29")]
473 [44 465 [44
474 (creator "weiner@infodock.com" create-time "19940728:21:56:49")] 466 (creator "bweiner@pts.mot.com" create-time "19940728:21:56:49")]
475 [36 467 [36
476 (creator "weiner@infodock.com" create-time "19940610:16:49:34")] 468 (creator "weiner@pts.mot.com" create-time "19940610:16:49:34")]
477 [37 469 [37
478 (creator "weiner@infodock.com" create-time "19940610:16:50:02")] 470 (creator "weiner@pts.mot.com" create-time "19940610:16:50:02")]
479 [38 471 [38
480 (creator "weiner@infodock.com" create-time "19940610:16:50:13")] 472 (creator "weiner@pts.mot.com" create-time "19940610:16:50:13")]
481 [13 473 [13
482 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 474 (creator "weiner" create-time "19940104:17:38:29")]
483 [16 475 [16
484 (creator "weiner@infodock.com" create-time "19940104:17:38:29")] 476 (creator "weiner" create-time "19940104:17:38:29")]
485 [74 477 [74
486 (creator "weiner@infodock.com" create-time "19951101:21:56:21" no-fill t)] 478 (creator "weiner@oakhill.sps.mot.com" create-time "19951101:21:56:21" no-fill t)]
487 nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 479 nil nil nil nil nil nil nil nil nil nil nil nil nil nil]