comparison lisp/hyperbole/kotl/EXAMPLE.kotl @ 24:4103f0995bd7 r19-15b95

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