Merge lp:~sschaefer/leo-editor/leo-manualUpdate into lp:leo-editor/old-trunk

Proposed by Stephen P. Schaefer
Status: Needs review
Proposed branch: lp:~sschaefer/leo-editor/leo-manualUpdate
Merge into: lp:leo-editor/old-trunk
Diff against target: 26634 lines
To merge this branch: bzr merge lp:~sschaefer/leo-editor/leo-manualUpdate
Reviewer Review Type Date Requested Status
The Leo editor team Pending
Review via email: mp+24335@code.launchpad.net

Description of the change

Work on documentation.

Also changes the version number in setup.py from 4.6 to 4.7.1.

To post a comment you must log in.
3069. By Stephen P. Schaefer <email address hidden>

Commit merge from EKR trunk.

3070. By Stephen P. Schaefer <email address hidden>

Merge trunk.

3071. By Stephen P. Schaefer <email address hidden>

Merge from trunk.

3072. By Stephen P. Schaefer <email address hidden>

Partial update of User Guide Chapter 4.

3073. By Stephen P. Schaefer <email address hidden>

Fetch changes from trunk.

3074. By Stephen P. Schaefer <email address hidden>

Revision of Chapter 4, Writing Programs in Leo.
Added LeoDoc.pdf as demo of eventual result from fixup.pl.

3075. By Stephen P. Schaefer <email address hidden>

Merge from trunk.
Chapter 4, more cleanup.

Unmerged revisions

3075. By Stephen P. Schaefer <email address hidden>

Merge from trunk.
Chapter 4, more cleanup.

3074. By Stephen P. Schaefer <email address hidden>

Revision of Chapter 4, Writing Programs in Leo.
Added LeoDoc.pdf as demo of eventual result from fixup.pl.

3073. By Stephen P. Schaefer <email address hidden>

Fetch changes from trunk.

3072. By Stephen P. Schaefer <email address hidden>

Partial update of User Guide Chapter 4.

3071. By Stephen P. Schaefer <email address hidden>

Merge from trunk.

3070. By Stephen P. Schaefer <email address hidden>

Merge trunk.

3069. By Stephen P. Schaefer <email address hidden>

Commit merge from EKR trunk.

3068. By Stephen P. Schaefer <email address hidden>

Get documentation generation working in Fedora 12 environment.
Proposed clarifications in Chapter 3.
Minor typo fixes.
Update version number in setup.py

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'leo/doc/LeoDocs.leo'
2--- leo/doc/LeoDocs.leo 2010-05-06 15:19:03 +0000
3+++ leo/doc/LeoDocs.leo 2010-05-11 20:36:27 +0000
4@@ -34,6 +34,10 @@
5 <v t="ville.20090705225609.5736"><vh>&lt;&lt; html manual &gt;&gt;</vh></v>
6 <v t="ville.20090705225609.5738"><vh>&lt;&lt; pdf manual &gt;&gt;</vh></v>
7 </v>
8+<v t="sps.20100504170836.13118"><vh>@button generate-full-userguide</vh>
9+<v t="sps.20100504170836.13120"><vh>&lt;&lt; html manual &gt;&gt;</vh></v>
10+<v t="sps.20100504170836.13122"><vh>&lt;&lt; pdf manual &gt;&gt;</vh></v>
11+</v>
12 <v t="ekr.20091006063434.13802"><vh>@button rst3</vh></v>
13 <v t="ville.20090520232034.6345"><vh>@button rst-preview</vh></v>
14 </v>
15@@ -129,9 +133,9 @@
16 <v t="ekr.20060111192108"><vh>When is deleting a node dangerous?</vh></v>
17 </v>
18 </v>
19-<v t="ekr.20050830115714.12"><vh>How should I use Leo with bzr/git/hg/svn/cvs?</vh></v>
20-<v t="ekr.20090706042206.14718"><vh>How can I use Leo cooperatively without sentinels?</vh></v>
21-<v t="ekr.20050830115714.13"><vh>Using external files</vh>
22+<v t="ekr.20050830115714.12"><vh>How Should I Use Leo With bzr/git/hg/svn/cvs?</vh></v>
23+<v t="ekr.20090706042206.14718"><vh>How Can I Use Leo Cooperatively Without Sentinels?</vh></v>
24+<v t="ekr.20050830115714.13"><vh>Using External Files</vh>
25 <v t="ekr.20090501093330.3"><vh>@rst-option show-sections = False</vh>
26 <v t="ekr.20050830115714.14"><vh>How do I inhibit sentinels in external files?</vh></v>
27 <v t="ekr.20050830115714.16"><vh>How do I prevent Leo from expanding sections?</vh></v>
28@@ -156,7 +160,7 @@
29 <v t="ekr.20091105080104.9031"><vh>How do I specify qt fonts?</vh></v>
30 </v>
31 </v>
32-<v t="ekr.20050830115714.118"><vh>Tips and techniques</vh>
33+<v t="ekr.20050830115714.118"><vh>Tips and Techniques</vh>
34 <v t="ekr.20090501093330.5"><vh>@rst-option show-sections = False</vh>
35 <v t="ekr.20080527063511.1"><vh>What is an easy way to profile code?</vh></v>
36 <v t="ekr.20070622185234"><vh>How can I do a simple find and replace?</vh></v>
37@@ -169,7 +173,7 @@
38 <v t="ekr.20060822111759"><vh>How can I reuse @button nodes in multiple files?</vh></v>
39 </v>
40 </v>
41-<v t="ekr.20050830115714.76"><vh>Trouble shooting</vh>
42+<v t="ekr.20050830115714.76"><vh>Trouble Shooting</vh>
43 <v t="ekr.20090501093330.6"><vh>@rst-option show-sections = False</vh>
44 <v t="ekr.20090130144433.1"><vh>How do I get help?</vh></v>
45 <v t="ekr.20090130144433.2"><vh>How do I report bugs?</vh></v>
46@@ -192,7 +196,7 @@
47 <v t="ekr.20091105080104.11492"><vh>Why don't @font nodes work with the Qt gui?</vh></v>
48 </v>
49 </v>
50-<v t="ekr.20071026055929"><vh>Unicode issues</vh>
51+<v t="ekr.20071026055929"><vh>Unicode Issues</vh>
52 <v t="ekr.20090501093330.7"><vh>@rst-option show-sections = False</vh>
53 <v t="ekr.20061021164213"><vh>I can not enter non-ascii characters. What can I do?</vh></v>
54 <v t="ekr.20050830115714.9"><vh>Some characters in external files look funny. What can I do?</vh></v>
55@@ -241,77 +245,105 @@
56 <v t="EKR.20040524104904.26"><vh>Chapter 3: Using Outlines</vh>
57 <v t="ekr.20050901101608"><vh>@rst html\outlines.html</vh>
58 <v t="ekr.20050901101608.1"><vh>@rst-no-head links</vh></v>
59+<v t="sps.20100504170836.13115"><vh>Outline Related</vh>
60 <v t="EKR.20040524104904.27"><vh>Cloning nodes</vh></v>
61 <v t="EKR.20040524104904.36"><vh>Creating and destroying nodes</vh></v>
62-<v t="ekr.20060920145745"><vh>Creating and destroying multiple body editors</vh></v>
63 <v t="EKR.20040524104904.37"><vh>Cutting, pasting and deleting nodes</vh></v>
64 <v t="EKR.20040524104904.38"><vh>Dragging nodes</vh></v>
65-<v t="EKR.20040524104904.39"><vh>Editing body text</vh></v>
66 <v t="EKR.20040524104904.40"><vh>Expanding &amp; contracting nodes</vh></v>
67-<v t="EKR.20040524104904.41"><vh>Indenting body text automatically</vh></v>
68 <v t="EKR.20040524104904.43"><vh>Marking nodes</vh></v>
69 <v t="EKR.20040524104904.44"><vh>Moving &amp; Reorganizing nodes</vh></v>
70 <v t="ekr.20060929040750"><vh>Navigating through the outline</vh></v>
71+</v>
72+<v t="sps.20100504170836.13116"><vh>Body Related</vh>
73+<v t="ekr.20060920145745"><vh>Creating and destroying multiple body editors</vh></v>
74+<v t="EKR.20040524104904.39"><vh>Editing body text</vh></v>
75+<v t="EKR.20040524104904.41"><vh>Indenting body text automatically</vh></v>
76+</v>
77+<v t="sps.20100504170836.13117"><vh>Miscellaneous</vh>
78 <v t="EKR.20040524104904.45"><vh>Opening URL's automatically</vh></v>
79 <v t="EKR.20040524104904.47"><vh>Resizing panes</vh></v>
80 <v t="EKR.20040524104904.48"><vh>Undoing operations</vh></v>
81 <v t="ekr.20070623145346.2"><vh>Using chapters</vh></v>
82 </v>
83 </v>
84-<v t="ekr.20050831184021.5"><vh>Chapter 4: Programming with Leo</vh>
85-<v t="ekr.20050828061213"><vh>@rst html\directives.html</vh>
86+</v>
87+<v t="ekr.20050831184021.5" a="E"><vh>Chapter 4: Programming with Leo</vh>
88+<v t="ekr.20050828061213" a="E"><vh>@rst html\directives.html</vh>
89 <v t="ekr.20050828160132"><vh>@rst-no-head links</vh></v>
90 <v t="ekr.20050828061501.1"><vh>@rst-no-head Intro.</vh></v>
91-<v t="ekr.20050828163557"><vh>Overview: creating and using external files</vh></v>
92-<v t="ekr.20050828211507"><vh>Overview: summary of directives</vh></v>
93-<v t="ekr.20050828061501.30"><vh>Reference: all about directives</vh>
94+<v t="sps.20100506030816.13127"><vh>A Brief and Inaccurate History of Leo for Programming</vh>
95+<v t="sps.20100507011942.17790"><vh>@rst-ignore-node \@root</vh></v>
96+</v>
97+<v t="ekr.20050828163557"><vh>Creating and using external files: recommendations</vh>
98+<v t="sps.20100507011942.17791"><vh>@rst-ignore-node \@root</vh></v>
99+</v>
100+<v t="ekr.20050828211507"><vh>Overview: summary of directives</vh>
101+<v t="sps.20100507011942.13175"><vh>Body pane modifiers</vh></v>
102+<v t="sps.20100507011942.13176"><vh>Headline Family Directives</vh>
103+<v t="sps.20100507011942.13177"><vh>External File Directives</vh></v>
104+<v t="sps.20100507011942.13178"><vh>Body Text Generation Modifiers</vh></v>
105+<v t="sps.20100507011942.13179"><vh>Tree Walk Modifiers</vh></v>
106+</v>
107+<v t="sps.20100507011942.13180"><vh>@rst-ignore-node @root Family Directives</vh></v>
108+</v>
109+<v t="ekr.20050828061501.30" a="E"><vh>Reference: all about directives</vh>
110+<v t="sps.20100506153234.13367" a="E"><vh>Body pane modifiers</vh>
111+<v t="ekr.20050828061501.32"><vh>@color, @nocolor, @nocolor-node and @killcolor</vh></v>
112+<v t="ekr.20050828061501.42"><vh>@wrap and @nowrap</vh></v>
113+</v>
114+<v t="sps.20100507011942.13181" a="E"><vh>Headline Directive Family</vh>
115+<v t="sps.20100506153234.13364" a="E"><vh>External file directives</vh>
116+<v t="ekr.20050828174453.2"><vh>\@asis</vh></v>
117+<v t="ekr.20080730212711.47" a="E"><vh>\@auto</vh>
118+<v t="sps.20100507011942.17787"><vh>Perfect import checks</vh></v>
119+<v t="sps.20100507011942.17789"><vh>@rst-ignore-node Commands related to @auto</vh></v>
120+</v>
121+<v t="ekr.20090307063422.4"><vh>\@edit</vh></v>
122+<v t="ekr.20050828061501.51"><vh>\@file</vh></v>
123+<v t="ekr.20050828174453.1"><vh>\@nosent</vh></v>
124+<v t="ekr.20050828061501.39"><vh>\@path</vh></v>
125+<v t="ekr.20080730212711.41"><vh>\@shadow</vh></v>
126+<v t="ekr.20080730212711.44"><vh>\@thin</vh></v>
127+</v>
128+<v t="sps.20100506153234.13365" a="E"><vh>Text generation modifiers</vh>
129 <v t="ekr.20050828173234"><vh>@ and @doc</vh></v>
130-<v t="ekr.20050828061501.31"><vh>@all</vh></v>
131-<v t="ekr.20050828174453.2"><vh>\@asis</vh></v>
132-<v t="ekr.20080730212711.47"><vh>\@auto</vh></v>
133 <v t="ekr.20050828173234.1"><vh>@c and @code</vh></v>
134-<v t="ekr.20050828061501.32"><vh>@color, @nocolor, @nocolor-node and @killcolor</vh></v>
135 <v t="ekr.20050828061501.33"><vh>@comment</vh></v>
136 <v t="ekr.20050828061501.34"><vh>@delims</vh></v>
137-<v t="ekr.20090307063422.4"><vh>@edit</vh></v>
138 <v t="ekr.20050828061501.35"><vh>@encoding</vh></v>
139-<v t="ekr.20050828061501.51"><vh>\@file</vh></v>
140 <v t="ekr.20050828061501.36"><vh>@first</vh></v>
141-<v t="ekr.20050828065955.3"><vh>@ignore</vh></v>
142 <v t="ekr.20050828061501.37"><vh>@language</vh></v>
143 <v t="ekr.20050828210721"><vh>@last</vh></v>
144 <v t="ekr.20050828061501.38"><vh>@lineending</vh></v>
145-<v t="ekr.20050828064254"><vh>@others</vh></v>
146-<v t="ekr.20050828174453.1"><vh>\@nosent</vh></v>
147-<v t="ekr.20050828061501.39"><vh>\@path</vh></v>
148 <v t="ekr.20050828210721.1"><vh>@pagewidth</vh></v>
149 <v t="ekr.20050828061501.40"><vh>@raw and @end_raw</vh></v>
150+<v t="ekr.20050828210721.2"><vh>\@tabwidth</vh></v>
151+<v t="sps.20100507011942.13198"><vh>\@verbatim</vh></v>
152+</v>
153+<v t="sps.20100506153234.13366" a="E"><vh>Tree walk modifiers</vh>
154+<v t="sps.20100506153234.13369"><vh>\&lt;\&lt;section\&gt;\&gt;</vh></v>
155+<v t="ekr.20050828061501.31"><vh>@all</vh></v>
156+<v t="ekr.20050828065955.3"><vh>@ignore</vh></v>
157+<v t="ekr.20050828064254"><vh>@others</vh></v>
158+</v>
159+</v>
160+</v>
161+<v t="sps.20100507011942.13182"><vh>@rst-ignore-tree \@root Directive Family</vh>
162+<v t="sps.20100507011942.13200"><vh>\&lt;\&lt;section\&gt;\&gt;</vh></v>
163+<v t="sps.20100507011942.13189"><vh>@ and @doc</vh></v>
164+<v t="sps.20100507011942.13191"><vh>@c and @code</vh></v>
165+<v t="sps.20100507011942.13193"><vh>@comment</vh></v>
166+<v t="ekr.20050828061501.35"></v>
167+<v t="sps.20100507011942.13195"><vh>@language</vh></v>
168+<v t="ekr.20050828061501.38"></v>
169+<v t="ekr.20050828210721.2"></v>
170+<v t="sps.20100507011942.13185"><vh>\@path</vh></v>
171 <v t="ekr.20080730212711.51"><vh>\@root</vh></v>
172 <v t="ekr.20050828061501.41"><vh>\@root-code and @root-doc</vh></v>
173-<v t="ekr.20080730212711.41"><vh>\@shadow</vh></v>
174-<v t="ekr.20050828210721.2"><vh>\@tabwidth</vh></v>
175-<v t="ekr.20080730212711.44"><vh>\@thin</vh></v>
176-<v t="ekr.20080729064227.3"><vh>@unit</vh></v>
177-<v t="ekr.20050828061501.50"><vh>@verbose, @terse, @quiet and @silent</vh></v>
178-<v t="ekr.20050828061501.42"><vh>@wrap and @nowrap</vh></v>
179-</v>
180-<v t="ekr.20050828062751"><vh>Reference: creating and using external files</vh>
181-<v t="ekr.20070814090306"><vh>\@auto</vh>
182-<v t="ekr.20070814090306.2"><vh>Perfect import checks</vh></v>
183-<v t="ekr.20070814090306.3"><vh>Commands related to @auto</vh></v>
184-</v>
185-<v t="ekr.20090307063422.7"><vh>\@edit</vh></v>
186-<v t="ekr.20050828061501.51"></v>
187-<v t="ekr.20050828174453.1"></v>
188-<v t="ekr.20050828174453.2"></v>
189-<v t="ekr.20050828061501.45"><vh>\@root reference</vh>
190-<v t="ekr.20050828061501.47"><vh>Sections and section definitions</vh></v>
191-<v t="ekr.20050828061501.48"><vh>Tangling @root trees with the Tangle commands</vh></v>
192-<v t="ekr.20050828061501.49"><vh>Untangling @root trees with the Untangle commands</vh></v>
193-</v>
194-<v t="ekr.20080730212711.44"></v>
195-<v t="ekr.20080730212711.41"></v>
196-<v t="EKR.20040524104904.282"><vh>Converting @root trees to @file trees</vh></v>
197+<v t="sps.20100507011942.13202"><vh>@unit</vh></v>
198+<v t="sps.20100507011942.13197"><vh>@verbose, @terse, @quiet and @silent</vh></v>
199+<v t="sps.20100507011942.13198"></v>
200 </v>
201 <v t="ekr.20050828061501.43"><vh>CWEB mode</vh></v>
202 </v>
203@@ -377,8 +409,8 @@
204 <v t="EKR.20040524104904.181"><vh>How Leo Changes the Notion of Literate Programming</vh></v>
205 </v>
206 </v>
207-<v t="ekr.20050831195331.4" a="E"><vh>Chapter 7: Scripting Leo with Python</vh>
208-<v t="ekr.20040403171740" a="E"><vh>@rst html\scripting.html</vh>
209+<v t="ekr.20050831195331.4"><vh>Chapter 7: Scripting Leo with Python</vh>
210+<v t="ekr.20040403171740"><vh>@rst html\scripting.html</vh>
211 <v t="ekr.20091104200540.6566"><vh>@rst-ignore</vh>
212 <v t="ekr.20091107181442.26607"><vh>old, too complicated intro</vh></v>
213 <v t="ekr.20091104200540.6567"><vh>details for later</vh></v>
214@@ -465,7 +497,7 @@
215 <v t="ekr.20100122073254.11655"><vh>Writing new importers</vh></v>
216 </v>
217 </v>
218-<v t="EKR.20040524104904.245"><vh>Chapter 9: History of Leo</vh>
219+<v t="EKR.20040524104904.245" a="E"><vh>Chapter 9: History of Leo</vh>
220 <v t="ekr.20050901101608.5"><vh>@rst html\history.html</vh>
221 <v t="ekr.20050901102147"><vh>@rst-no-head links</vh></v>
222 <v t="ekr.20050902105852"><vh>Beginnings</vh></v>
223@@ -4959,45 +4991,6 @@
224 again when its penultimate clone is deleted. Clones are useful for making
225 alternate views of a program. See `Clones and views`_ for full details.</t>
226 <t tx="EKR.20040524104904.274">@language rest</t>
227-<t tx="EKR.20040524104904.282">To convert an @root tree to an @file tree, choose the root of the tree to be
228-converted, then do the following in the Python window::
229-
230- import c2py
231- c2py.leo1to2()
232-
233-This script makes numerous changes throughout the tree. It does not, however,
234-change @root to @file, or insert the needed @others directives. You must do that
235-by hand.
236-
237-To convert @root trees to @file trees by hand:
238-
239-1. Change the @root node to an @file node. That is, delete the @root &lt;filename&gt;
240- from the body text and insert @file &lt;filename&gt; in the headline. Typically,
241- the root node contains a reference like &lt;&lt;methods of class x&gt;&gt; as the last
242- body text. Replace this reference with the @others directive. The expansion
243- of @others is all text that is not part of a section definition.
244-
245-2. Add @ to the start of all doc parts. Leo starts syntax coloring in code mode
246- rather than doc mode, so if a doc part starts body text it should start with
247- an '@' sign.
248-
249-3. Replace all section definition lines (like &lt;&lt;name&gt;&gt;=) by @c. This results in
250- the node being added to the expansion of @others.
251-
252-4. Remove all unused code from the @file tree. Leo does not write external files
253- whose @file trees contain orphan or @ignore nodes.
254-
255-5. Make sure that all nodes defining a section have a headline that starts with
256- &lt;&lt;section&gt;&gt;. This will typically be true when converting @root trees that use
257- the @code directive.
258-
259-6. If a section is referenced in more than one node (a rare occurrence in my
260- code), clone the defining node and move one clone under each referencing
261- node.
262-
263-7. If a node contains the definitions of several sections, place each different
264- definition in a different node.
265-</t>
266 <t tx="EKR.20040524104904.307">The following error messages may be generated by the Tangle commands.
267
268 Can not re-open temp file
269@@ -5307,7 +5300,7 @@
270 <t tx="EKR.20040524104904.36">The Insert Node command inserts a new node into the outline. The
271 Delete Node command deletes a node and all its children.
272 </t>
273-<t tx="EKR.20040524104904.37">The Cut Outline, Paste Outline, Copy Outline and Delete Outline commands work on
274+<t tx="EKR.20040524104904.37">The Cut Node, Paste Node, Copy Node and Delete Node commands work on
275 nodes rather than text. For example, to delete a node, select the node and
276 choose the Cut Outline or Delete Outline command. The Cut Outline and Copy
277 Outline commands copy a text representation of the outline to the clipboard.
278@@ -5315,20 +5308,21 @@
279 deleted. You may copy this text representation into a body pane (or into any
280 other text editor) using the Edit:Paste command.
281
282-**Warning**: In practice, it is almost always wiser to move clones rather than
283-cutting or pasting them. Cutting and pasting outlines preserves clones, but the
284-links between clones only exist within the part of the outline that was pasted.
285-Therefore, if you are cutting and pasting an outline containing clones it is
286-best to cut and paste the *entire* outline. Alternatively, you can paste part of
287-an outline, then delete all clones.</t>
288-<t tx="EKR.20040524104904.38">You may drag an node (including all its descendants) from one place to another
289+**Warning**: If you want to preserve the "cloned" attribute of a node, or want to paste the node as a clone of the node you cut or copied, use the paste-retaining-clones command (in the Outline menu, called "Past Node as Clone").
290+The paste-node command instead creates a new, distinct version of the node you previously cut or copied, though if there were descendants nodes which were clones of each other, the new version will have parallel, distinct nodes that are also clones of each other (just not to the originals). You may paste a node between .leo files, but there can be no clone relationship between them.
291+
292+There are places to which you are prevented from paste-retaining-clones, because it would cause a node to become a parent of itself, and thus cuase outline traversals like \@thin expansion to loop until they consumed all memory and crashed the program. The leo outline is thus mathematically a *directed acyclic graph*: clones make it more flexible than a tree, but not a generalized graph.
293+</t>
294+<t tx="EKR.20040524104904.38">If you are using the Tk GUI ( by starting Leo with the argument --gui=tk ) you may drag a node (including all its descendants) from one place to another
295 in an outline. To start a drag, press the main (left) mouse button while the
296 cursor is over the icon for a node. The cursor will change to a hand icon. If
297 you release the mouse button while the hand cursor is above the icon for another
298 node, Leo will move the dragged node after that node. If you release the mouse
299 button when the hand cursor is not over an icon, Leo will leave the outline pane
300-as it is. Leo scrolls the outline pane as the result of mouse-moved events, so
301-to continue scrolling you must keep moving the mouse.</t>
302+as it is. Leo scrolls the outline pane as the result of mouse-moved events so near the top and bottom boundaries of the outline pane, so to continue scrolling you must keep moving the mouse.
303+to continue scrolling you must keep moving the mouse.
304+
305+In both GUIs, you can use the move-outline-down and move-outline-up commands (bound to Ctrl-D and Ctrl-U by default) to move a node within the outline. It may be easier to move within a large outline by cutting the node and pasting it.</t>
306 <t tx="EKR.20040524104904.380">@language rest</t>
307 <t tx="EKR.20040524104904.39">Leo auto indents unless @nocolor is in effect. Typing a newline
308 automatically inserts the same leading whitespace present on the previous line.
309@@ -5440,7 +5434,10 @@
310 <t tx="EKR.20040524104904.40">You can expand or contract a node by clicking in the standard Windows Tree
311 View icon to the left of the status icon. Expanding a node shows its immediate
312 children; contracting a node hides all its children. The Expand All Subheads
313-command expands all of a nodes offspring (children, grandchildren, etc.)</t>
314+command expands all of a nodes offspring (children, grandchildren, etc.)
315+
316+Alt-Leftarrow on an expanded node will contract the node; Alt-RightArrow on a contracted node will expand the node.
317+</t>
318 <t tx="EKR.20040524104904.41">Leo auto indents body text following colons when @language Python is in
319 effect. When the smart_auto_indent setting is True, Leo uses Emacs-style
320 auto-indentation instead. This style of auto-indent aligns newly created lines
321@@ -5467,13 +5464,7 @@
322 selecting another location in the outline and pasting the node in the new
323 location.
324
325-**Warning**: In practice, it is almost always wiser to move clones rather than
326-cutting or pasting them. Cutting and pasting outlines preserves clones, but the
327-links between clones only exist within the part of the outline that was pasted.
328-Therefore, if you are cutting and pasting an outline containing clones it is
329-best to cut and paste the _entire_ outline. Alternatively, you can paste part of
330-an outline, then delete all clones.
331-</t>
332+See the **Warning** above in `Cutting, pasting and deleting nodes`_.</t>
333 <t tx="EKR.20040524104904.45">Double-clicking the icon box of a node whose headline has the form::
334
335 @url &lt;any url&gt;
336@@ -8140,7 +8131,7 @@
337 Naud Olivier, Joe Orr,
338 Marc-Antoine Parent, Paul Paterson, Sean Shaleh Perry, Tim Peters, David Priest, Gary Poster, Scott Powell,
339 Bruce Rafnel, Walter H. Rauser, Olivier Ravard, David Speed Ream, Rich Ries, Aharon Robbins, Guido van Rossum, David Rowe,
340-Davide Salomoni, Steven Schaefer,Johannes Schöön, Wolfram Schwenzer, Casey Wong Kam Shun,
341+Davide Salomoni, Stephen Schaefer,Johannes Schöön, Wolfram Schwenzer, Casey Wong Kam Shun,
342 Gil Shwartz, Jim Sizelove, Paul Snively, Jurjen Stellingwerff, Phil Straus, David Szent-Györgyi,
343 Kent Tenney, Jeffrey Thompson,
344 Gabriel Valiente, Jim Vickroy, Tony Vignaux, Tom van Vleck,
345@@ -8201,7 +8192,7 @@
346 François Pinard wrote pymacs.
347 Norman Ramsey created noweb and gave permission to quote from the noweb web documentation.
348 Rich Ries has contributed a huge number of suggestions.
349-Steven P. Schaefer pointed out major security problems lurking in hooks.
350+Stephen P. Schaefer pointed out major security problems lurking in hooks.
351 Gil Shwartz helped with unicode support.
352 Phil Straus has been a great friend and constant support.
353 Guido van Rossum created Python, Tkinter and the Python License.
354@@ -10233,7 +10224,7 @@
355 widget. This allows users to set Tk options.</t>
356 <t tx="ekr.20050812090111">import leo.core.leoPlugins as leoPlugins
357
358-rst3 = leoPlugins.getPluginModule('rst3')
359+rst3 = c.rstCommands.rst3
360
361 if rst3:
362 controller = rst3.controllers.get(c)
363@@ -10899,130 +10890,132 @@
364 for that you should read `Leo's tutorial`_.
365 This chapter assumes you are thoroughly familiar with the terminology introduced in the tutorial.
366 **Note**: Are you *sure* you want to read this chapter?
367-It contains many details that are no interest to the average user of Leo.
368+It contains many details that are of no interest to the average user of Leo.
369 I recommend using Leo for two weeks, or longer, before attempting this chapter.
370
371 .. .. contents::</t>
372-<t tx="ekr.20050828061501.30">The following sections give full details about each directive.
373-The directives listed here may appear in headlines or body text.
374+<t tx="ekr.20050828061501.30">The following sections give full details about each directive. The `Headline Directive Family`_ directives will be supplemented by the `\@root Directive Family`_ once the latter has settled in its semantics; the same directive may have different effects depending on whether it is governed by a headline directive or an ``@root`` directive; at this point, just don't use ``@root``.
375+
376 </t>
377-<t tx="ekr.20050828061501.31">The @all directive is valid only in @thin trees.
378-The @all directive is similar to @others, but it is less restrictive:
379-it dumps *all* nodes to the external file, including @ignore nodes and nodes that
380-in an @others tree would be considered to be orphan nodes.
381+<t tx="ekr.20050828061501.31">The ``@all`` directive is valid only in ``@thin`` style trees.
382+The ``@all`` directive is similar to ``@others``, but it is less fastidious:
383+it dumps the current node and *all* child nodes to the external file,
384+including ``@ignore`` nodes and nodes that
385+in an ``@others`` tree would be considered to be orphan nodes, generally ceasing to
386+interpret any
387+further tree walk or text generation modifying directives.
388
389-The @all directive is required for files such as @thin leoProjects.txt in LeoPy.leo.
390+The ``@all`` directive is required for files such as ``@thin`` leoProjects.txt in LeoPy.leo.
391 leoProjects.txt contains so-called project nodes.
392 It doesn't have any meaning as a program file: it is simply a collection of unrelated data.
393-@others would not work at all: it would complain about lots of orphan nodes.</t>
394+``@others`` would not work at all: it would complain about lots of orphan nodes.</t>
395 <t tx="ekr.20050828061501.32">Syntax coloring is on by default in all body text.
396 Leo formats comments and documentation parts in red,
397 directives and C keywords in blue,
398-strings and character constants in gray and all other text in code parts in black.
399-The @nocolor directive disables syntax coloring for the body text in which it appears.
400-No syntax coloring is done until an @color directive re-enables syntax coloring.
401+strings and character constants in green and all other text in code parts in black.
402+The color directives are recognized only in the first column of the body text.
403+The ``@nocolor`` directive disables syntax coloring for the lines of body text after which it appears.
404+No syntax coloring is done until an ``@color`` directive re-enables syntax coloring.
405
406-If a node contains neither the @color nor the @nocolor directive
407+If a node contains neither the ``@color`` nor the ``@nocolor`` directive
408 it may inherit the syntax coloring attribute from an ancestor.
409-The nearest ancestor that contains exactly one of the @color or @nocolor directives
410+The nearest ancestor that contains exactly one of the ``@color`` or ``@nocolor`` directives
411 will control the syntax coloring.
412-**Ambiguous nodes**, nodes containing both the @color and @nocolor directives,
413-never affect the coloring of their offspring.
414+**Ambiguous nodes**, nodes containing both the ``@color`` and ``@nocolor`` directives,
415+never affect the coloring of their children.
416
417-The @nocolor-node directive completely disables coloring for that node only.
418+The ``@nocolor-node`` directive completely disables coloring for that node only, taking precedence over other color directives that may be present.
419 Descedant nodes are not affected.
420
421-The @killcolor directive completely disables the colorizer for that node.
422+The ``@killcolor`` directive completely disables the colorizer for that node.
423 The result is much faster syntax coloring of large body text.
424-As usual @killcolor may itself be overridden in descendant nodes.
425-The differences between @killcolor and @nocolor:
426-
427-- @nocolor suppresses coloring only until the next @color directive.
428-
429-- @killcolor overrides @nocolor and @color directives.
430- Any node containing @killcolor is unambiguously a @killcolor node regardless of
431- whether that node also contains @color or @nocolor directives.
432-
433-**Note**:
434-These directives do not affect the Tangle commands in any way.
435-In particular, the Tangle commands will recognize section definitions as usual even
436-after an @nocolor directive is seen.</t>
437-<t tx="ekr.20050828061501.33">**Note**: the @comment directive is deprecated: you should use the @language
438-directive whenever possible. However, sometimes using both @language and
439-@comment is useful. For this to be effective the @comment directive should
440-appear after the @language directive (in outline order).
441-
442-The Untangle command will not process an @root or @unit node if an @comment
443-directive is in effect because Untangle can't be sure of properly parsing an
444-external file if the language of the external file isn't known. It might be
445-possible to assume some defaults in this case, but that is not done at present
446-and is not a high priority. By default, the Tangle commands produces C-language
447-comments. Single-line comments generated during tangling start with ///, while
448-documentation parts are surrounded by \* and \*. The @comment directive allows
449-you to use Tangle to produce shell and make files, as well as source code for
450-other programming languages.
451-
452-The @comment directive may be followed by zero to three delimiters, separated by
453+``@killcolor`` may itself be overridden in descendant nodes.
454+The differences between ``@killcolor`` and ``@nocolor``:
455+
456+- ``@nocolor`` suppresses coloring only until the next ``@color`` directive.
457+
458+- ``@killcolor`` overrides ``@nocolor`` and ``@color`` directives.
459+ Any node containing ``@killcolor`` is unambiguously a ``@killcolor`` node regardless of
460+ whether that node also contains ``@color`` or ``@nocolor`` directives.
461+
462+``@killcolor`` and ``@nocolor-node`` differ in that the influence of ``@nocolor-node`` does not extend to descendant nodes, whereas ``@killcolor`` does influence descendant nodes.
463+
464+Leo recognizes the color directives only in the first column of body text, not in headlines.
465+They have no effect on the "tangle" processes.
466+</t>
467+<t tx="ekr.20050828061501.33">**Note**: the ``@comment`` directive is deprecated: you should use the ``@language``
468+directive whenever possible. However, sometimes using both ``@language`` and
469+``@comment`` is useful. For this to be effective the ``@comment`` directive should
470+appear after the ``@language`` directive (in outline order). In such cases ``@comment``
471+overrides the comment delimiters normally used by ``@language``. Even in this case, you will generally
472+do better combining ``@language`` and ``@delims``. See `\@delims`_. **DO NOT** combine ``@comment``
473+with ``@delims``: the result is undefined and often generates a file which Leo cannot read and from
474+which **data will be lost** after any subsequent ''save''.
475+
476+``@comment`` controls the text used to designate comment strings in the external file.
477+By default, saving an ``@thin`` style tree produces C-language
478+comments. Single-line comments generated during generation start with ``//``, while
479+documentation parts are surrounded by ``/*`` and ``*/``. The ``@comment`` directive allows
480+you to work with source code for almost any programming languages.
481+
482+The ``@comment`` directive may be followed by zero to three delimiters, separated by
483 whitespace. This directive sets the single-line comment delimiter and the
484 opening and closing block comment delimiters as follows:
485
486-====================== =====================================================================
487-\@comment no args\: restores the defaults to ///, /\* and \*/
488----------------------- ---------------------------------------------------------------------
489-\@comment /// \1 arg\: sets the single-line comment and clears the other delims.
490----------------------- ---------------------------------------------------------------------
491-\@comment /\* \*/ \2 args\: sets the block comment delims; clears the single-line delim.
492----------------------- ---------------------------------------------------------------------
493-\@comment /// /\* \*/ \3 args\: sets all three delimiters.
494-====================== =====================================================================
495-
496-If only one delimiter is given, Leo does not write any documentation parts while tangling.
497-If two delimiters are given, block-style comments are used instead of single-line comments.
498-For example, the @comment { } directive could be used to tangle Pascal files.
499-
500-The @comment directive is only recognized in @root, @unit, @file and @thin nodes,
501-and the @comment directive must precede the first section name or @code directive.
502-An @comment directive in the body text of an @unit directive specifies the current global defaults.
503-An @comment directive in the body text of an @root directive affects comments generated for one root only.
504-Comments in all other roots are governed by the global defaults.
505-
506-Leo will convert underscores in the @comment directives to significant spaces. For example::
507+======================== =====================================================================
508+``@comment`` no args\: restores the defaults to ``//``, ``/*`` and ``*/``
509+------------------------ ---------------------------------------------------------------------
510+``@comment //`` \1 arg\: sets the single-line comment and clears the other delims.
511+------------------------ ---------------------------------------------------------------------
512+``@comment /* */`` \2 args\: sets the block comment delims; clears the single-line delim.
513+------------------------ ---------------------------------------------------------------------
514+``@comment // /* */`` \3 args\: sets all three delimiters.
515+======================== =====================================================================
516+
517+If only one delimiter is given, Leo uses it to begin each line of a
518+recognized documentation part (that is, one ungoverned by something like ``@all``).
519+
520+If two delimiters are given, Leo uses block-style comments instead of single-line comments.
521+For example, ``@comment { }`` could be used with Pascal files.
522+
523+The ``@comment`` directive must precede the first section name or ``@c`` directive.
524+
525+Leo will convert underscores in the ``@comment`` directives to significant spaces. For example::
526
527 @comment REM_
528
529-causes the comment delimiter to be "REM " (Note the trailing space).</t>
530-<t tx="ekr.20050828061501.34">The @delims directive changes the comment strings used to mark sentinel lines.
531+causes the comment delimiter to be "REM " (Note the trailing space).
532+</t>
533+<t tx="ekr.20050828061501.34">The ``@delims`` directive changes the comment strings used to mark sentinel lines from that point forward in the body text.
534 This directive is often used to place Javascript text inside XML or HTML files.
535-The delims directive is not valid in @root or @unit trees.
536
537-The @delims directive contains one or two delimiters, separated by whitespace.
538+The ``@delims`` directive contains one or two delimiters, separated by whitespace.
539 If only one delim is present it delimits single-line comments.
540 If two delims are present they delimit block comments.
541-The @delims directive can not be used to change the comment strings at the start of the external file,
542-that is, the comment strings for the @+leo sentinel and the initial @+body and @+node sentinels.
543+The ``@delims`` directive can not be used to change the comment strings at the start of the external file,
544+that is, the comment strings for the ``@+leo`` sentinel and the initial ``@+body`` and ``@+node`` sentinels.
545
546-The @delims directive inserts @@delims sentinels into the external file.
547-The new delimiter strings continue in effect until the next @@delims sentinel in the external file or
548+The ``@delims`` directive inserts ``@@delims`` sentinels into the external file.
549+The new delimiter strings continue in effect until the next ``@@delims`` sentinel in the external file or
550 the end of the external file.
551
552 **Note**: Leo can not revert to previous delimiters automatically;
553-you must change back to previous delimiters using another @delims directive. For example::
554+you must change back to previous delimiters using another ``@delims`` directive. For example::
555
556 @delims /* */
557 Javascript stuff
558 @delims &lt;-- --&gt;
559 HTML stuff
560
561-Adding, deleting or changing @@delims sentinels will destroy Leo's ability to read the external file.
562-Mistakes using the @delims directive have no effect on Leo,
563-though such mistakes will thoroughly mess up a external file as far as compilers,
564-HTML renderers, etc. are concerned.</t>
565-<t tx="ekr.20050828061501.35">You may use the @encoding directive to specify the encoding used in an external file.
566+Adding, deleting or changing ``@@delims`` sentinels will destroy Leo's ability to read the external file.
567+``@delims`` affects only external files, having no effect on Leo's colorizer or internal data representation.
568+Incorrect use will thoroughly corrupt the external file as far as compilers, HTML renderers, etc. are concerned.</t>
569+<t tx="ekr.20050828061501.35">You may use the ``@encoding`` directive to specify the encoding used in an external file.
570 You can't mix encodings in a single external file. For example::
571
572 @encoding iso-8859-1
573
574-If the encoding used in an external file is not "utf-8" it is represented in the @+leo sentinel line, like this::
575+If the encoding used in an external file is not "utf-8" it is represented in the ``@+leo`` sentinel line, like this::
576
577 #@+leo-encoding=iso-8859-1.
578
579@@ -11031,56 +11024,72 @@
580 so encoding and decoding to and from utf-8 plain strings will never cause a problem.
581 When reading or writing a character not in a "lossy" encoding (such as iso-8859-1),
582 Leo converts such characters to '?' and issues a warning. </t>
583-<t tx="ekr.20050828061501.36">The @first directive allows you to place lines at the very start of external files created
584-by @thin and @file nodes.
585-For example, the body text of @file spam.py
586-might be::
587+<t tx="ekr.20050828061501.36">The ``@first`` directive allows you to place lines at the very start of external files.
588+For example, the first line of body text of ``@file spam.py`` might be::
589
590 @first #! /usr/bin/env python
591
592-The body text of @file foo.perl might be::
593+The first line of body text of ``@file foo.pl`` might be::
594
595 @first #/usr/bin/perl
596
597-@first directives are recognized only at the start of the body text of @file and @thin nodes.
598-No text may precede @first directives.
599-More than one @first directive may exist, like this::
600+``@first`` directives are recognized only at the start of the body text of external
601+file directive headline nodes, such as ``@file`` or ``@thin``.
602+No text may precede ``@first`` directives.
603+More than one ``@first`` directive may exist, like this::
604
605 @first #! /usr/bin/env python
606 @first # more comments.
607-
608-The @first directive is not valid in @root or @unit trees.</t>
609-<t tx="ekr.20050828061501.37">The @language directive specifies the comment delimiters and string types used by the
610+</t>
611+<t tx="ekr.20050828061501.37">The ``@language`` directive specifies the comment delimiters and string types used by the
612 Tangle and Untangle commands.
613 This directive over-rides the default specified in the settings dialog.
614
615-When the threading_colorizer plugin is enabled, the valid @language directives are::
616-
617- @language x
618-
619-where the leo/modes folder contains the file x.py. When the threading_colorizier plugin is not enabled,
620-the 'old' colorizer is used and the valid @language directives are::
621+The valid @language directives are::
622
623 @language actionscript
624+ @language ada
625+ @language autohotkey
626+ @language batch
627 @language c
628- @language c++
629+ @language cpp
630+ @language css
631 @language cweb
632 @language elisp
633+ @language forth
634+ @language fortran
635+ @language fortran90
636+ @language haskell
637+ @language haxe
638 @language html
639+ @language ini
640 @language java
641+ @language kshell
642 @language latex
643- @language objective-c
644+ @language lua
645+ @language noweb
646 @language pascal
647 @language perl
648 @language perlpod
649+ @language php
650 @language plain
651+ @language plsql
652 @language python
653+ @language rapidq
654 @language rebol
655+ @language rest
656+ @language rst
657+ @language ruby
658 @language shell
659+ @language tex
660 @language tcltk
661+ @language vim
662+ @language vimoutline
663+ @language xml
664+ @language xslt
665
666 Shell files have comments that start with `#`.
667-Case is ignored in the language specifiers, but not in the @language itself.
668+Case is ignored in the language specifiers, but not in the ``@language`` itself.
669 Thus, the following are equivalent::
670
671 @language html
672@@ -11090,462 +11099,164 @@
673 but the following is invalid::
674
675 @LANGUAGE html</t>
676-<t tx="ekr.20050828061501.38">The @lineending directive sets the line endings for individual external files.
677-This directive will override the output_newline setting.
678-The @lineending *never* affects the line endings in .leo files themselves:
679+<t tx="ekr.20050828061501.38">The ``@lineending`` directive sets the line endings for individual external files.
680+This directive will override the ``@string output_newline`` setting.
681+The ``@lineending`` *never* affects the line endings in .leo files themselves:
682 .leo files must have consistent line endings!
683
684 The valid forms of the @lineending directive are:
685
686-======================= ======================================================
687-\@lineending nl The default, Linux.
688------------------------ ------------------------------------------------------
689-\@lineending cr Mac
690------------------------ ------------------------------------------------------
691-\@lineending crlf Windows
692------------------------ ------------------------------------------------------
693-\@lineending lf Same as 'nl', not recommended
694------------------------ ------------------------------------------------------
695-\@lineending platform Same as platform value for output_newline setting.
696-======================= ======================================================</t>
697-<t tx="ekr.20050828061501.39">The @path directives override the deprecated default_tangle_directory setting.
698-
699-The form of the \@path directive is @path *filename*,
700-where *filename* is taken to be everything following \@path to the end of the line.
701-
702-If *filename* is an absolute filename the location of the external file is specified only by the filename.
703-Otherwise, if *filename* is a relative filename, the location of the external file is relative to:
704-
705-1. the directory specified the applicable @path directive, or
706-2. the "Default Tangle Directory" in the Settings dialog if no @path directive is in effect, or
707+======================== ======================================================
708+``@lineending nl`` The default, Linux.
709+------------------------ ------------------------------------------------------
710+``@lineending cr`` Mac
711+------------------------ ------------------------------------------------------
712+``@lineending crlf`` Windows
713+------------------------ ------------------------------------------------------
714+``@lineending lf`` Same as 'nl', not recommended
715+------------------------ ------------------------------------------------------
716+``@lineending platform`` Same as platform value for output_newline setting.
717+======================== ======================================================</t>
718+<t tx="ekr.20050828061501.39">The ``@path`` directives override the deprecated ``@directory default_tangle_directory`` setting.
719+
720+The form is:
721+
722+ ``@path`` *directory*
723+
724+where *directory* is taken to be everything following ``@path`` to the end of the line.
725+
726+When an external file directive such as ``@thin`` specifies an absolute path,
727+no ``@path`` or setting affects the external file name.
728+When an external file directive specifies a relative name,
729+Leo derives the directory to which that path is relative as follows:
730+
731+1. the directory specified by ``@path`` directives in parent nodes, or
732+2. the "Default Tangle Directory" in the Settings dialog if no ``@path`` directive is in effect, or
733 3. the directory in which the .leo file resides if the .leo file has ever been saved.
734
735+As parent nodes are examined beginning with the closest, Leo prepends relative path components, and finishes when prepending an absolute path. In other words, ``@path`` directives specifying relative directory names are relative to their parent nodes. If no ``@path`` directive gives an absolute directory name, then the topmost ``@path`` is relative to either (2) or (3) in the list above.
736+
737 An error occurs if no absolute path can be computed according to these rules,
738-or if *filename* does not exist.</t>
739-<t tx="ekr.20050828061501.40">The @raw and @end_raw directives are valid only within @file and @thin trees.
740-The @raw directive starts a section of "raw" text. The @end_raw directive ends
741+or if the derived directory name does not exist.
742+</t>
743+<t tx="ekr.20050828061501.40">The ``@raw`` directive starts a section of "raw" text. The ``@end_raw`` directive ends
744 such a section, as does the end of body text. No section references are
745 recognized within raw text, and no additional leading whitespace is generated
746 within raw text when writing the external file.</t>
747 <t tx="ekr.20050828061501.41">Leo allows you to choose whether body text in @root trees will start in code
748-mode or doc mode by default. The @root-doc *filename* and @root-code *filename*
749+mode or doc mode by default. The \@root-doc *filename* and \@root-code *filename*
750 directives specify that body text is assumed to start in doc mode or code mode
751-respectively. The options (-doc and -code) must follow @root immediately with no
752-intervening whitespace. In effect, @root-code and @root-doc are two new
753+respectively. The options (-doc and -code) must follow \@root immediately with no
754+intervening whitespace. In effect, \@root-code and \@root-doc are two new
755 directives.
756
757-These @root options override the at_root_bodies_start_in_doc_mode setting. This
758-setting affects only @root trees without options. Such "plain" @root trees are
759+These \@root options override the at_root_bodies_start_in_doc_mode setting. This
760+setting affects only \@root trees without options. Such "plain" \@root trees are
761 now deprecated, which only means that it is better style to use either the
762-\@root-code or @root-doc directive. The reason is simple: the meaning of plain
763+\@root-code or \@root-doc directive. The reason is simple: the meaning of plain
764 \@root trees will depend on the at_root_bodies_start_in_doc_mode setting. It's
765 better to be explicit. By default, at_root_bodies_start_in_doc_mode = 1 for
766-compatibility for old @root trees. I actually don't think this option is good
767-for much; I created it before I created @root-doc and @root-code settings, and I
768+compatibility for old \@root trees. I actually don't think this option is good
769+for much; I created it before I created \@root-doc and \@root-code settings, and I
770 decided it wouldn't hurt to leave it in. Anyway, you now have complete
771-flexibility about how @root works, and in particular you can make @root work
772-just like @file.</t>
773-<t tx="ekr.20050828061501.42">By default, the body_pane_wraps setting controls whether body text wraps.
774-You may override this setting for a particular tree using the @wrap and @nowrap directives.
775-Only the first @wrap or @nowrap directive in a node has any effect.</t>
776+flexibility about how \@root works.
777+</t>
778+<t tx="ekr.20050828061501.42">@nowrap
779+By default, the ``@bool body_pane_wraps`` setting controls whether body text wraps. You may override this setting for a particular tree using the ``@wrap`` and ``@nowrap`` directives. Only the first ``@wrap`` or ``@nowrap`` directive in a node has any effect. ``@wrap`` and ``@nowrap`` are recognized in both headlines and the body. In the body, these directives are recognized only in the first column of body text.
780+
781+</t>
782 <t tx="ekr.20050828061501.43">See `CWEB`_ for a discussion of the CWEB language. CWEB mode refers to how Leo
783-tangles an outline when @language cweb is in effect or the cweb setting is in
784+tangles an outline when ``@language cweb`` is in effect or the cweb setting is in
785 effect. Leo treats *all* cweb code in cweb mode as unevaluated text. That is,
786-Leo treats cweb control codes, including @&lt;...@&gt;, @&lt;..@&gt;=, @c, @, @* and @** as
787+Leo treats cweb control codes, including ``@&lt;`` ... ``@&gt;``, ``@&lt;`` ... ``@&gt;=``, ``@c``, ``@``, ``@*`` and ``@**`` as
788 "raw" text within cweb mode. Leo does *not* expand *cweb* section references
789 when writing external files in cweb mode. However, Leo *does* expand *noweb*
790 section references, so you may use noweb sections to organize cweb files! You
791-can create *noweb* code and doc sections using the @code and @doc directives in
792-place of @c and @ directives.
793+can create *noweb* code and doc sections using the ``@code`` and ``@doc`` directives in
794+place of ``@c`` and ``@`` directives.
795
796-By default, cweb colors @, @* and @** sections using the same syntax coloring as
797-for LaTeX. In addition, cweb colors C // and /*..*/ comments using LaTeX
798+By default, cweb colors ``@``, ``@*`` and ``@**`` sections using the same syntax coloring as
799+for LaTeX. In addition, cweb colors C ``//`` and ``/*`` .. ``*/`` comments using LaTeX
800 coloring by default. You may change these defaults using the
801-color_cweb_doc_parts_with_latex and color_cweb_comments_with_latex settings.
802-</t>
803-<t tx="ekr.20050828061501.45">This section discusses all aspects of @root trees.
804-\@root directives must appear in body text, not headlines.
805-
806-You should carefully consider whether the extra flexibility afforded by @root
807-trees is worth the extra bother. Indeed, @file trees are much easier to use than
808-\@root trees:
809-
810-- @file and @thin trees use less markup than @root trees.
811- In particular, the @others directive is valid only within @file and @thin trees.
812-
813-- You must explicitly tangle and untangle @root trees using the Tangle and
814- Untangle commands.
815-
816-However, @root trees are more flexible than @file and @thin trees:
817-
818-- Sections may be defined anywhere within @root trees. Moreover, the @unit
819- directive expands the scope of section definitions in @root trees so that a
820- section may be referenced in several @root trees.
821-
822-- The meaning of section definitions in @root trees are independent of their position within the tree.
823-</t>
824-<t tx="ekr.20050828061501.47">Just as with @file trees, @root trees may contain code parts and doc parts.
825-Code parts start with section definition lines (see below) or the @c directive.
826-Doc parts start with @ directive.
827-Doc parts continue until the end of body text or until the next @c or @ directive.
828-
829-Body text in @root trees contain zero or more code and doc parts in any order.
830-The @c directive starts a named code section if the node's headline starts with &lt;&lt;section name&gt;&gt;.
831-Otherwise, the @c directive is invalid.
832-
833-**Section definition lines** are lines of the form::
834-
835- &lt;&lt; section name&gt;&gt;=
836-
837-(note the equal sign).
838-Such lines also start named code parts.
839-Named code parts in @root trees may be defined in several places.
840-The definition of a named code part is the concatenation of all code parts with the same name.
841-Body text that defines no code part is ignored.
842-At least one non-blank line must follow the section definition line;
843-empty sections are not allowed.
844-
845-As in @file trees, paired &lt;&lt; and &gt;&gt; characters on the same line always denote a section name,
846-even within comments and strings.
847-Thus, &lt;&lt; and &gt;&gt; characters that do not delimit a section name must be placed on separate lines.
848-If &lt;&lt; and &gt;&gt; are not paired on a line, they are treated as ordinary &lt;&lt; and &gt;&gt; characters.
849-
850-Here is a typical example of body text within an @root tree::
851-
852- @ This method puts an open node sentinel for node v.
853- &lt;&lt;atFile methods&gt;&gt;=
854- def putOpenNodeSentinel(self,v):
855- if v.isAtFileNode() and v != self.root:
856- &lt;&lt; issue an error message &gt;&gt;
857- else:
858- s = self.nodeSentinelText(v)
859- self.putSentinel("@+node:" + s)
860-
861-Provided that the node's headline starts with &lt;&lt;atFile methods&gt;&gt;,
862-the example above is equivalent to::
863-
864- @ This method puts an open node sentinel for node v.
865- @c
866- def putOpenNodeSentinel(self,v):
867- if v.isAtFileNode() and v != self.root:
868- &lt;&lt; issue an error message &gt;&gt;
869- else:
870- s = self.nodeSentinelText(v)
871- self.putSentinel("@+node:" + s)
872-
873-We may not eliminate @c directives in @root trees.
874-If we convert the doc part to a comment we are left with::
875-
876- @c
877- # This method puts an open node sentinel for node v.
878- def putOpenNodeSentinel(self,v):
879- if v.isAtFileNode() and v != self.root:
880- &lt;&lt; issue an error message &gt;&gt;
881- else:
882- s = self.nodeSentinelText(v)
883- self.putSentinel("@+node:" + s)
884-
885-The following escape convention applies only in @root trees.
886-Within a code part @@ in the first column (and only in the first column) stands for a single @ sign.</t>
887-<t tx="ekr.20050828061501.48">Each @root tree represents a single external file. **Tangling** is the process
888-of creating external files from @file, @thin or @root trees. Leo tangles @file
889-and @thin trees automatically whenever an outline is saved. The user must tangle
890-@root trees explicitly using one of the Tangle commands.
891-
892-Leo creates external files by expanding all section references in an @root node.
893-Leo expands a section reference by substituting the code section itself for the
894-section reference. This is a recursive process: the substituted code section may
895-contain other code references which are themselves expanded, and so on.
896-
897-The outline provides a natural way of organizing an sections as follows::
898-
899- Place the definition of a section S in a child of
900- the node containing the reference to S.
901-
902-If a section is referenced in more than one node, I usually place its definition
903-in a node containing all the nodes that refer to it. Using this rule of thumb
904-creates an outline whose structure mirrors the intrinsic organization of a
905-program.
906-
907-The Tangle command creates external files from @root node. The @root directive
908-indicates which sections constitute an output file. The text following a @root
909-directive forms the entire content of the file, that is, after section
910-references are expanded. An outline can contain arbitrarily many @root
911-directives: Leo's Tangle commands will create one output file for each. The
912-process of creating external files is called "tangling" because the code from
913-the outline is rearranged to create the external files.
914-
915-For example, the following @root section shows a typical way of specifying a
916-header file xx.h::
917-
918- @root xx.h
919- #ifndef xx_defined
920- #define xx_defined
921- &lt;&lt; declarations of public constants of the xx class &gt;&gt;
922- &lt;&lt; declarations of public types of the xx class &gt;&gt;
923- &lt;&lt; declarations of public variables of the xx class &gt;&gt;
924- &lt;&lt; public prototypes of the xx class &gt;&gt;
925- #endif
926-
927-The Tangle commands will create the file xx.h from this body text by expanding
928-all the section references. Incidentally, the introductory documentation will be
929-included in the header file: any text preceding the @root directive is treated
930-just like the doc part of a section definition.
931-
932-As another example, the following shows a typical way of specifying the
933-corresponding xx.c file::
934-
935- @root xx.c
936- &lt;&lt; public variables of the xx class &gt;&gt;
937- &lt;&lt; private types of the xx class &gt;&gt;
938- &lt;&lt; private variables of the xx class &gt;&gt;
939- &lt;&lt; private function prototypes of the xx class &gt;&gt;
940- &lt;&lt; methods of the xx class &gt;&gt;
941-
942-There are three menu commands that tangle an outline: Tangle, Tangle All and
943-Tangle Marked. These commands are identical except for how much of the outline
944-is tangled. The Tangle command tangles only the selected portion of the outline,
945-the Tangle All command tangles the entire outline, and the Tangle Marked command
946-tangles only marked headlines.
947-
948-The @root directive has three forms. All three forms mean exactly the same
949-thing::
950-
951- @root filename
952- @root "filename"
953- @root &lt;filename&gt;
954-
955-If *filename* is an absolute filename the location of the external file is specified only by the filename.
956-Otherwise, if the @root node contains a relative filename, the location of the external file is relative to:
957-
958-1. the directory specified by an @path directive, or
959-
960-2. the default_tangle_directory setting if no @path directive is in effect, or
961-
962-3. the directory in which the .leo resides if the .leo file has ever been saved.
963-
964-An error occurs if no absolute path can be computed according to these rules,
965-or if the filename or directory does not exist.
966-
967-The scope of a definition is the tree in which the definition is known. By
968-default, Tangle commands look for section definitions only in the suboutline of
969-the @root node being tangled. That is, all sections are assumed to be defined
970-either in the body text of the headline, say h, containing the @root directive,
971-or in the body texts of the descendants of h. The @unit directive explicitly
972-indicates the scope of section definitions. When a Tangle command encounters the
973-@unit directive it treats the suboutline containing the @unit command as the
974-scope for all enclosed roots. This ensures that the group of roots in the
975-subtree use the same section definitions.
976-
977-For example, suppose we have a tree organized as follows::
978-
979- + @unit
980- + @root A
981- sections in A
982- + @root B
983- sections in B
984-
985-The @unit directive insures that only sections defined in the unit can affect
986-files A and B and that all sections definitions in A and B are compatible with
987-each other.
988-
989-The Tangle commands ignore any tree containing an @ignore directive. This
990-ensures that trees that contain cloned nodes or other subsidiary information do
991-not cause the tangle commands to issue spurious error messages. It also ensures
992-that a tree can never contribute a section definition to another part of the
993-outline by mistake.</t>
994-<t tx="ekr.20050828061501.49">The Untangle, Untangle All and Untangle Marked commands are the reverse of the
995-corresponding Tangle commands. They update one or more @root nodes based on
996-changes made to the corresponding external files.
997-
998-For example, suppose you create a new part of the outline and tangle it for the
999-first time. When you compile external files for the first you are likely to get
1000-many syntax errors. You could fix those errors in the outline and tangle the
1001-outline again, but there is a much easier way: you fix the errors in the
1002-external files using the compiler's editor, then run the untangle command on the
1003-part of the outline that created the external file. The Untangle command updates
1004-the selected outline to match the changes in the external files. It's as simple
1005-as that. By the way, the Untangle command marks all the nodes in the outline
1006-that it updates, and you can examine all such nodes with the Go To Next Marked
1007-command in the Outline menu.
1008-
1009-You cannot use Untangle to update doc parts, or leading comments in code parts
1010-or "trivial" whitespace in code parts. This is a limitation of the Untangle
1011-command that cannot be fixed; Untangle has no way of knowing whether leading
1012-comments came from doc parts or are just leading comments.
1013-
1014-Untangle never changes the structure of an outline; it never inserts, deletes or
1015-moves nodes. Don't attempt to change the structure of an outline by modifying
1016-external files; it won't work. Also, never delete, move or alter the sentinel
1017-lines in external files written by the Tangle command. Such lines start with the
1018-comment delimiter followed by a section name.
1019-
1020-If you change the section name in a sentinel line Untangle will not update the
1021-code in the outline (with the old name) that generated the renamed section.
1022-Untangle warns about sections that appear in an external file but not in the
1023-outline. Untangle has no trouble with changed section references in external
1024-files; it is only changed sentinel lines that cause problems.
1025-
1026-Cloned nodes that generate code in several files may cause problems for
1027-Untangle. If Untangle is run separately on these external files, Untangle will
1028-update all cloned nodes each time it is run, so only the code in the last
1029-Untangle run will take effect. Therefore, the safe way to update text in cloned
1030-nodes is to make the change in the .leo file rather than the external files.
1031-</t>
1032-<t tx="ekr.20050828061501.50">The @verbose, @terse, @quiet and @silent directives determine
1033-how the Tangle command outputs comments in @root trees.
1034-Comments written by the user in code sections are always output.
1035-These directives control only:
1036-a) the comments containing doc sections and
1037-b) sentinel comments that delimit the beginning and end of code sections.
1038-
1039-When @verbose is in effect Tangle outputs all comments.
1040-When @terse is in effect, Tangle outputs only those comments necessary for Untangle to work.
1041-When @silent is in effect Tangle adds no additional comments.
1042-The @quiet directive is like @silent except that it does output leading sentinels as comments.
1043-Like @silent, @quiet inhibits untangling.
1044-@verbose is the default.
1045-If more than one of these directives appear in the same body text the "most verbose" of these options will be in effect.</t>
1046-<t tx="ekr.20050828061501.51">The @file is a synonym for @thin. The @file directive creates an external file
1047-containing sentinels.</t>
1048-<t tx="ekr.20050828062751">In the following table all terms in each row are equivalent.
1049-The spelling in the first column is preferred:
1050-
1051-=========== =============== =================
1052-\@asis \@file-asis \@silent
1053------------ --------------- -----------------
1054-\@nosent \@file-nosent \@nosentinelsfile
1055-=========== =============== =================
1056-
1057-The following table summarizes the differences between
1058-the various kinds of @&lt;file&gt; trees.
1059-
1060-+---------+------------+-------------------+
1061-| | | Sections and |
1062-| Type | Sentinels? | @others expanded? |
1063-+---------+------------+-------------------+
1064-| @asis | no | no |
1065-+---------+------------+-------------------+
1066-| @auto | no | no |
1067-+---------+------------+-------------------+
1068-| @edit | no | yes |
1069-+---------+------------+-------------------+
1070-| @file | yes | yes |
1071-+---------+------------+-------------------+
1072-| @nosent | no | yes |
1073-+---------+------------+-------------------+
1074-| @root | yes | yes |
1075-+---------+------------+-------------------+
1076-| @shadow | yes and no | yes |
1077-+---------+------------+-------------------+
1078-| @thin | yes | yes |
1079-+---------+------------+-------------------+
1080-
1081-Leo can not update the outline from changes made from external files unless
1082-those files contain sentinels. The primary source for @nosent and @asis trees
1083-are the outlines from which those files were created.
1084-
1085-For @shadow trees, Leo creates *two* files, a **public** file without sentinels,
1086-and a **private** file (by default in the .leo_shadow subfolder) containing
1087-sentinels. The primary sources for @shadow trees are the private files, updated
1088-by changes to the public file.
1089-</t>
1090-<t tx="ekr.20050828064254">The @others directive refers to the body text of all nodes *except* section
1091-definition nodes. The @others directive places the body text of section
1092+``@bool color_cweb_doc_parts_with_latex`` and ``@bool color_cweb_comments_with_latex`` settings.
1093+</t>
1094+<t tx="ekr.20050828061501.51">The ``@file`` is a synonym for ``@thin``. The ``@file`` directive creates an external file
1095+containing sentinels.
1096+
1097+This was not always so; if you work on the same .leo file with Leo 4.6
1098+or earlier as well as with Leo 4.7 and later, the two interpretations will corrupt
1099+each other: the workaround is to change all ``@file`` directives to ``@thin``, then save the
1100+leo file and its generated files. ``@thin`` works regardless of Leo version, since all
1101+versions of Leo which support ``@thin``, support ``@thin`` in the
1102+same way. If you work only with versions of Leo 4.7 or later, you avoid this issue entirely.
1103+</t>
1104+<t tx="ekr.20050828064254">The ``@others`` directive refers to the body text of all nodes *except* section
1105+definition nodes. The ``@others`` directive places the body text of section
1106 definition nodes in the external file in outline order.
1107
1108-An @file or @thin tree may contain more than one @others directive. @others
1109-directives that descend from other @others directives refer only to unnamed
1110-nodes that descend from them. The @others directive that occurs highest in the
1111-@file tree refers to all other unnamed nodes.
1112-
1113-**Notes**:
1114-
1115-- No node may contain more than one @others directive.
1116-
1117-- No section definition node may intervene between an non-section definition
1118- node containing body text and an @others node. In practice this is never a
1119- problem.
1120-
1121-- The @others directive is not valid in @root or @unit trees.</t>
1122-<t tx="ekr.20050828065955.3">Generally speaking, @ignore directive prevents nodes from being processed.
1123-
1124-1. In the root node of any @auto, @edit, @file, @nosent, @root, @thin or @shadow tree,
1125- the @ignore directive prevents Leo from writing the external file.
1126-
1127-2. @auto trees are an exception. Everything, including @ignore directives, are written.
1128- However, you can disable the writing of an @auto tree by putting an @ignore directive in an
1129- ancestor of the @auto tree.
1130-
1131-3. At present, @ignore can be used to prevent the inclusion of a node that descends from @others.
1132- This may be dubious behavior, but that's how Leo works.
1133-
1134-4. @ignore can be used by scripts and plugins as they like, but should preserve the behavior in item 1 above.</t>
1135+An external file directive tree may contain more than one ``@others`` directive. ``@others``
1136+directives that descend from other ``@others`` directives refer only to non-section
1137+nodes (i.e., nodes with headlines that do not contain the patter ``&lt;&lt;`` *section* ``&gt;&gt;``)
1138+that descend from them. The ``@others`` directive that occurs highest in the
1139+``@file`` tree refers to all other unnamed nodes. If ``@others`` occurs multiple in the same node, all non-section nodes appear at the location of the first instance of the ``@others`` directive; the remainder
1140+are remembered as sentinels but have no other content.
1141+</t>
1142+<t tx="ekr.20050828065955.3">Generally speaking, ``@ignore`` directive prevents nodes from being processed.
1143+
1144+#. In the root node of any ``@auto``, ``@edit``, ``@file``, ``@nosent``, ``@thin`` or ``@shadow`` tree,
1145+ the ``@ignore`` directive prevents Leo from writing the external file.
1146+
1147+#. ``@auto`` trees are an exception. Everything, including ``@ignore`` directives occuring outside the root node, are written.
1148+ However, you can disable the writing of an ``@auto`` tree by putting an ``@ignore`` directive in the root node or in an
1149+ ancestor of the ``@auto`` tree.
1150+
1151+#. ``@ignore`` can be used by scripts and plugins as they like, but should preserve the behavior in item 1 above.</t>
1152 <t tx="ekr.20050828160132">.. External links...
1153 .. _`CWEB`: http://www-cs-faculty.stanford.edu/~knuth/cweb.html
1154 .. _`noweb`: http://www.eecs.harvard.edu/~nr/noweb/
1155
1156 .. Relative links...
1157-.. _`@root reference`: directives.html#id5
1158+.. _`\@root reference`: directives.html#id5
1159 .. _front: front.html
1160 .. _`Leo's tutorial`: intro.html
1161 .. _`@auto reference`: directives#id1
1162-</t>
1163-<t tx="ekr.20050828163557">You create and use external files using @&lt;file&gt; directives.
1164-Most of these directives may only appear in headlines.
1165-Here are all the ways of creating external files:
1166+.. _ `History of Leo`: history.html</t>
1167+<t tx="ekr.20050828163557">Differing external file directives are appropriate in different situations:
1168
1169 \@asis
1170- This directive copies body text verbatim, without even ensuring that
1171- newlines terminate each node. Use this directive only when you must have
1172- complete control over every character of the external file.
1173+ Use this directive only when you must have complete control over
1174+ every character of the external file: it copies body text verbatim,
1175+ without even ensuring that newlines terminate each node.
1176
1177 \@auto
1178- Imports the external file when Leo reads an outline. See the `@auto
1179- reference`_ for full details.
1180+ Use this when you don't want sentinels and Leo's parser for your language
1181+ works well. It can be tricky: see the `\@auto reference`_ for full details.
1182
1183 \@edit
1184- Reads the external file into a single node.
1185+ Use for small files which can't have sentinels and it's ok for them to occupy a single node.
1186
1187 \@file
1188- As of Leo 4.7 b2, @file works exactly like @thin. See below.
1189+ As of Leo 4.7 b2, ``@file`` works exactly like ``@thin``. See `\@file`_
1190
1191 \@thin
1192- Creates external files containing sentinels that minimize conflicts
1193- in source code control systems such as bzr.
1194- Use @thin unless you have a good reason not to.
1195+ Use ``@thin`` unless you have a good reason not to.
1196
1197 \@nosent
1198- Creates external files without sentinels.
1199- Use @nosent only as a last resort:
1200- @auto or @shadow are usually a better choice.
1201- Leo can not update @nosent trees from changes made to the external files.
1202-
1203- The @bool force_newlines_in_at_nosent_bodies setting
1204- controls whether Leo writes a trailing newline if non-empty body text does not
1205- end in a newline. The default is True. In effect, the default value of this
1206- setting was False in previous versions of Leo.
1207-
1208-\@root
1209- This directive is the most flexible, and the most difficult to use.
1210- **Note**: @root is a true directive: you must put @root in body text.
1211- Historically, this was the first directive that created external files.
1212- It comes closest in spirit to traditional literate programming tools.
1213- However, it is seldom necessary to suffer the drawbacks of using @root.
1214- My advice is to avoid using @root unless you have a compelling reason.
1215+ Use ``@nosent`` only as a last resort:
1216+ ``@auto`` or ``@shadow`` are usually a better choice.
1217+ Leo can not update ``@nosent`` trees from changes made to external files.
1218
1219 \@shadow
1220- This directive writes *two* external files, a **public** file without sentinels,
1221- and a **private** file (by default in the .leo_shadow subfolder) containing sentinels.
1222- This allows Leo to get the benefits of @thin trees,
1223- without having sentinels in the public files that people care about.
1224-
1225+ Use this directive when you can't have sentinels in the **public** version
1226+ of the file, but want all the features of ``@thin`` trees. This directive writes
1227+ *two* external files, a **public** file without sentinels, and a **private**
1228+ file (by default in the ``.leo_shadow`` subfolder) containing sentinels.
1229 To complicate matters further,
1230 you can use `CWEB`_ markup instead of `noweb`_ markup.
1231 See the section called `CWEB mode`_ for the details.
1232 The choice between CWEB and noweb is independent of the directive is used to create external files.</t>
1233-<t tx="ekr.20050828173234">The @ directive starts a doc part.
1234-Doc parts continue until an @c directive or the end of the body text.
1235+<t tx="ekr.20050828173234">The ``@`` directive starts a doc part.
1236+Doc parts continue until an ``@c`` directive or the end of the body text.
1237 For example::
1238
1239 @ This is a comment in a doc part.
1240@@ -11553,49 +11264,66 @@
1241 The next line ends the doc part
1242 @c
1243
1244-@doc is a synonym for @, but @ is preferred.</t>
1245-<t tx="ekr.20050828173234.1">The @c directive ends a doc part and begins a code part.
1246-@code is a synonym for @c, but @c is preferred.
1247-
1248-In @root and @unit trees, the headline must contain a valid section name.</t>
1249-<t tx="ekr.20050828174453.1">Leo writes @nosent trees just as for @thin trees,
1250-but Leo writes no sentinels at all.
1251-
1252-The @bool force_newlines_in_at_nosent_bodies setting
1253+``@doc`` is a synonym for ``@``, but ``@`` is preferred.
1254+
1255+The directive is only recognized in the first column.
1256+
1257+In ``@thin`` style external files, such documentation sections appear as comments, using comment
1258+characters appropriate to the language, or as specified by the prevailing ``@comment`` or ``@delims``
1259+directive.
1260+
1261+A governing ``@asis``, ``@all``, ``@raw`` or ``@verbatim`` directive causes the directive
1262+to be uninterpreted and simply copied to the external file.
1263+</t>
1264+<t tx="ekr.20050828173234.1">The ``@c`` directive ends a doc part and begins a code part.
1265+``@code`` is a synonym for ``@c``, but ``@c`` is preferred.
1266+
1267+The directive is only recognized in the first column.
1268+
1269+A governing ``@asis``, ``@all``, ``@raw`` or ``@verbatim`` directive causes the directive
1270+to be uninterpreted and simply copied to the external file.
1271+</t>
1272+<t tx="ekr.20050828174453.1">Leo writes ``@nosent`` trees just as for ``@thin`` trees, except it writes no sentinels at all.
1273+All the information for the ``@nosent`` tree is kept in the .leo file,
1274+and Leo incorporates no changes from the external file.
1275+
1276+The ``@bool force_newlines_in_at_nosent_bodies`` setting
1277 controls whether Leo writes a trailing newline if non-empty body text does not
1278 end in a newline. The default is True. In effect, the default value of this
1279-setting was False in previous versions of Leo.</t>
1280-<t tx="ekr.20050828174453.2">Leo creates files from @asis trees by writing the body text of all nodes of the
1281-tree in outline order. Leo writes the body text *as is*, without recognizing
1282+setting was False in previous versions of Leo.
1283+</t>
1284+<t tx="ekr.20050828174453.2">Leo creates files from ``@asis`` trees by writing the body text of all nodes of the
1285+``@asis`` tree in outline order. Leo writes the body text *as is*, without recognizing
1286 section definitions, without expanding section references, and without treating
1287 directives specially in any way. In particular, Leo copies all directives,
1288-including @ or @c directives, to the external file as text.
1289+including ``@`` or ``@c`` directives, to the external file as text.
1290
1291-Leo does recognize the @ignore directive in the *ancestors* of @asis nodes, so
1292-you may use the @ignore directive as usual to prevent Leo from writing @asis
1293+Leo does recognize the ``@ignore`` directive in the *ancestors* of ``@asis`` nodes, so
1294+you may use the ``@ignore`` directive as usual to prevent Leo from writing ``@asis``
1295 trees.
1296
1297 **Notes**:
1298
1299-- Within @asis trees only, if a headline starts with @@, Leo writes
1300- everything in the headline following the @@ just before the corresponding
1301+- Within ``@asis`` trees only, if a headline starts with ``@@``, Leo writes
1302+ everything in the headline following the ``@@`` just before the corresponding
1303 body text.
1304
1305-- Files created from @asis trees contain *nothing* not contained in body
1306- text (or @@ headlines). In particular, if body text does not end in a
1307+- Files created from ``@asis`` trees contain *nothing* not contained in body
1308+ text (or ``@@`` headlines). In particular, if body text does not end in a
1309 newline, the first line from the next node will concatenated to the last line
1310- of the preceding node.</t>
1311-<t tx="ekr.20050828210721">The @last directive allows you to place lines at the very end of external files
1312-created from @file and @thin nodes. The @last directive is recognized only at
1313-the end of body text of @file and @thin nodes. No text may follow @last
1314-directives. More than one @last directive may exist. For example, here is how a
1315+ of the preceding node.
1316+</t>
1317+<t tx="ekr.20050828210721">The ``@last`` directive allows you to place lines at the very end of external files (except those
1318+specified with ``@asis``). The ``@last`` directive is recognized only at
1319+the end of body text of the external file directive (e.g., the ``@thin`` node). No text may follow ``@last``
1320+directives. More than one ``@last`` directive may exist. For example, here is how a
1321 PHP file might be set up::
1322
1323 @first &lt;?php
1324 ...
1325 @last ?&gt;</t>
1326-<t tx="ekr.20050828210721.1">The @pagewidth directive overrides the page_width setting.
1327-The form of the @pagewidth directive is @pagewidth *n*,
1328+<t tx="ekr.20050828210721.1">The ``@pagewidth`` directive overrides the ``@int page_width`` setting.
1329+The form of the ``@pagewidth`` directive is ``@pagewidth`` *n*,
1330 where n is a positive integer that indicates the width of tangled pages in columns.
1331 For example::
1332
1333@@ -11604,8 +11332,8 @@
1334 This setting only affects how Leo reformats doc parts, and how the Tangle command outputs block comments.
1335
1336 </t>
1337-<t tx="ekr.20050828210721.2">The @tabwidth directive overrides the tab_width setting.
1338-The form of the @tabwidth directive is @tabwidth *n*,
1339+<t tx="ekr.20050828210721.2">The ``@tabwidth`` directive overrides the ``@int tab_width`` setting.
1340+The form of the ``@tabwidth`` directive is ``@tabwidth`` *n*,
1341 where n is a positive integer that indicates the width of tabs in spaces.
1342 For example::
1343
1344@@ -11613,101 +11341,7 @@
1345
1346 Negative values cause Leo to convert tabs to blanks.</t>
1347 <t tx="ekr.20050828211507">Here is a brief summary of each directive:
1348-
1349-- **\@**
1350- Starts a doc part. @doc is a deprecated synonym.
1351-
1352-- **\@all**
1353- Copies *all* descendant nodes to the external file.
1354- Not valid in @root trees.
1355-
1356-- **\@asis**
1357- Creates an external file without sentinels,
1358- containing exactly the data in the @asis tree,
1359- without expanding section references or @others directives.
1360-
1361-- **\@auto**
1362- Imports the external file every time Leo reads the outline.
1363- The read-at-auto-nodes and write-at-auto-nodes commands can
1364- be used to read and write and @auto nodes.
1365-
1366-- **\@c**
1367- Starts a code part. @code is a deprecated synonym.
1368-
1369-- **\@color**, **\@nocolor**, **\@nocolor-node** and **\@killcolor**
1370- Control syntax coloring.
1371-
1372-- **\@comment**
1373- Sets comment delimiters in @root and @unit trees.
1374-
1375-- **\@delims**
1376- Sets comment delimiters in @thin and @file trees.
1377-
1378-- **\@edit**
1379- Reads an external file into a single node.
1380-
1381-- **\@encoding**
1382- Sets the Unicode encoding used in external files.
1383-
1384-- **\@file**
1385- A synonym for @thin.
1386-
1387-- **\@first**
1388- Forces lines to appear before the first sentinel of an external file.
1389-
1390-- **\@ignore**
1391- Causes Leo to ignore all or part of an external file.
1392-
1393-- **\@language**
1394- Sets the language used for syntax coloring **and**
1395- sets the comment delimiters used in sentinel lines and in doc parts.
1396-
1397-- **\@last**
1398- Forces lines to appear after the last sentinel of an external file.
1399-
1400-- **\@lineending**
1401- Sets the line ending to be used in external files.
1402-
1403-- **\@others**
1404- Copies all nodes *except* section definition nodes to the external file.
1405-
1406-- **\@nosent**
1407- Same as @thin, but the external file contains no sentinels.
1408-
1409-- **\@pagewidth**
1410- Sets the page width used to break doc parts into lines.
1411-
1412-- **\@path**
1413- Set the path to be appended to filenames.
1414-
1415-- **\@raw** and **\@end_raw**
1416- Delimit a section of 'raw' text.
1417- Not valid in @root or @unit trees.
1418-
1419-- **\@root**, **\@root-code** and **\@root-code**
1420- Start an @root tree.
1421- The last two forms set the starting mode for body text.
1422- These directives must appear in body text.
1423-
1424-- **\@shadow**
1425- Creates two external files, a **public** file without sentinels,
1426- and a **private** file containing sentinels.
1427- Imports the file just as @auto does if the private file does not exist.
1428-
1429-- **\@tabwidth**
1430- Sets the width of tabs.
1431- Negative tab widths cause Leo to convert tabs to spaces.
1432-
1433-- **\@thin**
1434- Creates an external file containing sentinels.
1435- Thin external files miminize cvs and bzr conflicts.
1436- All essential information is stored in the thin external file.
1437-
1438-- **@verbose**, **@terse**, **@quiet** and **@silent**
1439- Set the verbosity of sentinels in external files from @root.
1440-
1441-- **\@wrap** and **\@nowrap**
1442- Enable or disable line wrapping the Leo's body pane.</t>
1443+</t>
1444 <t tx="ekr.20050830074716">###################################
1445 What People Are Saying About Leo
1446 ###################################
1447@@ -12199,7 +11833,7 @@
1448 layers simultaneously: data structures, object structure, entity-relationship
1449 structure, client-server structure, design pattern structure, temporal
1450 structure, project management structure, and any other structure relevant to the
1451-system." -- Steven P. Schaefer
1452+system." -- Stephen P. Schaefer
1453
1454 "A funny observation with Leo is that when I 'Leo-ise' other people's code, Leo
1455 makes the code's structure so transparent that design faults become very quickly
1456@@ -12608,7 +12242,7 @@
1457 The C compiler is happy: the C preprocessor strips out the offending line before the C
1458 compiler gets it.</t>
1459 <t tx="ekr.20050830115714.26"></t>
1460-<t tx="ekr.20050830115714.29">See the instructions are in LeoPy.leo in::
1461+<t tx="ekr.20050830115714.29">The instructions are in LeoPy.leo in::
1462
1463 Notes:How To:How to add support for a new language section.
1464
1465@@ -24264,102 +23898,6 @@
1466
1467 - Added @bool big_outline_pane setting. False (legacy): Top pane contains outline and log panes.
1468 True: Top pane contains only the outline pane. Bottom pane contains body and log panes.</t>
1469-<t tx="ekr.20070814090306">@auto trees allow people to use Leo in collaborative environments without using
1470-sentinels in the files Leo generates. In contrast to @nosent, @auto trees can
1471-change when the corresponding file changes outside of Leo.
1472-
1473-Leo will automatically recreate (import) all @auto trees when reading a .leo
1474-file, and will write all dirty @auto trees when saving a .leo file. There are
1475-two exceptions to this statement:
1476-
1477-1. Leo will never read (import) or write an @auto tree if
1478-the root @auto tree is under the influence of an @ignore directive.
1479-
1480-2. Saving a .leo file does not save @auto nodes if:
1481-
1482-a) they haven't been changed or,
1483-
1484-b) they do not contain a **significant** amount of information. An @auto tree
1485- contains a significant amount of information if it has children or if the
1486- root node contains more than 10 characters.
1487-
1488-Leo creates @auto trees by parsing the corresponding external file. Parsers
1489-create descendant nodes of the @auto tree: one node for each class, method and
1490-function in the external file.
1491-
1492-Parsers presently exist for C, elisp, Java, Javascript, Pascal, PHP, Python and xml. Leo
1493-determines the language using the file's extension. Notes:
1494-
1495-- If no parser exists for a language, the entire body of the external file is
1496- copied to the body of the @auto node.
1497-
1498-- Javascript regexps that look like section references cause problems, but that
1499- can not be helped.
1500-
1501-- Use the @data import_xml_tags setting in leoSettings.leo to specify the xml
1502- tags that create outline nodes. By default, the **organizer tags** are html,
1503- body, head, and div.</t>
1504-<t tx="ekr.20070814090306.2">Leo performs several checks to ensure that the result of importing an external
1505-file will be equivalent to the file that writing the @auto tree would produce.
1506-
1507-These checks can produces **errors** or **warnings**. Errors indicate a
1508-potentially serious problem. Leo inserts an @ignore directive in the @auto tree
1509-if any error is found. This @ignore directive prevents the @auto tree from
1510-modifying the external file. If you @ignore directive, a later write of the
1511-@auto tree will attempt to fix the problems that gave rise to the errors. There
1512-are no guarantees however.
1513-
1514-Before importing a file, Leo **regularizes** the leading whitespace of all lines
1515-of the original source file. That is, Leo converts blanks to tabs or tabs to
1516-blanks depending on the value of the @tabwidth directive in effect for the @auto
1517-node. Leo also checks that the indentation of any non-blank line is not a
1518-multiple of the indentation specified by the @tabwidth directive in effect for
1519-the @auto node.
1520-
1521-Leo cannot guarantee to reproduce the original source file exactly if problems
1522-are discovered while regularizing leading whitespace. **Strict languages** are
1523-languages such as Python for which leading whitespace must be preserved exactly
1524-as it appears in the original source file. Problems during regularizing generate
1525-errors for strict languages and warnings for non-strict languages.
1526-
1527-After importing a file, Leo verifies that writing the @auto node would create
1528-*exactly* the same file as the original file. Such file comparison mismatches
1529-generate errors unless the problem involves only leading whitespace for
1530-non-strict languages. Whenever a mismatch occurs the first non-matching line is
1531-printed.
1532-
1533-File comparison mismatches can arise for several reasons:
1534-
1535-1. Bugs in the import parsers. Please report any suspected bugs immediately.
1536-
1537-2. Underindented lines in classes, methods or function. An **underindented
1538- line** is a line that is indented less then the starting line of the class,
1539- method or function in which it appears. Leo outlines can not represent such
1540- lines exactly: every line of node implicitly has at least the indentation of
1541- any unindented line of the node.
1542-
1543-Leo will issue a warning (not an error) for underindented Python comment lines.
1544-Such lines can not change the meaning of Python programs.</t>
1545-<t tx="ekr.20070814090306.3">Three commands in the File:Read/Write menu allow you to manually read and
1546-write @auto nodes from the presently selected outline. As always, an @ignore
1547-directive in the @auto node or its ancestors will suppress any of these
1548-commands:
1549-
1550-- The Read @auto Nodes (read-at-auto-nodes) command reads all @auto nodes in the
1551- presently selected outline. An @ignore directive will suppress this import.
1552-
1553-- The Write @auto Nodes (write-at-auto-nodes) command writes all @auto nodes. An
1554- @ignore directive will suppress this import. Caution: the write will occur even
1555- if Leo has not previously read the @auto node.
1556-
1557-- The Write Dirty @auto Nodes (write-dirty-at-auto-nodes) is the same as the
1558- write-at-auto-nodes command, except that only changed @auto trees are written.
1559-
1560-Most users will rarely use these explicit commands, because reading and writing
1561-.leo files handles @auto nodes well enough. However, you can use the
1562-read-at-auto-nodes command to update @auto nodes without having to reload the
1563-.leo file.
1564-</t>
1565 <t tx="ekr.20070814104719">You enable or disable plugins using @enabled-plugins nodes in leoSettings files (leoSettings.leo, myLeoSettings.leo or the .leo file being loaded). See `Specifying settings`_ for full details of settings files.
1566
1567 The body text of the @enabled-plugins node contains a list of enabled plugins.
1568@@ -27176,9 +26714,6 @@
1569 actually not visible lines, but the second time you drag something in
1570 it's ok, as if it has an accurate count on visible lines now.
1571 </t>
1572-<t tx="ekr.20080729064227.3">The @unit directive expands the scope of section definitions in @root trees
1573-so that a section may be referenced in several @root trees.
1574-The @unit directive is ignored outside of @root trees.</t>
1575 <t tx="ekr.20080729064227.6">The timit button in unitTest.leo allows you to apply Python's timeit module.
1576 See http://docs.python.org/lib/module-timeit.html.
1577 The contents of @button timer is::
1578@@ -27305,28 +26840,28 @@
1579 please study the x.propagate_changed_lines method in leoShadow.py. This code is
1580 heavily commented.
1581 </t>
1582-<t tx="ekr.20080730212711.41">When writing an @shadow tree, Leo writes *two* files, a **public** file without
1583-sentinels, and a **private** file (by default in the .leo_shadow subfolder)
1584-containing sentinels. The primary sources for @shadow trees are the private
1585+<t tx="ekr.20080730212711.41">When writing an ``@shadow`` tree, Leo writes *two* files, a **public** file without
1586+sentinels, and a **private** file (by default in the ``.leo_shadow`` subfolder)
1587+containing sentinels. The primary sources for ``@shadow`` trees are the private
1588 files, updated by changes to the public file.
1589
1590-When reading an @shadow tree, Leo will import the tree from the public file if
1591-the private file does not exist. **Important**: just as for @auto, the following
1592+When reading an ``@shadow`` tree, Leo will import the tree from the public file if
1593+the private file does not exist. **Important**: just as for ``@auto``, the following
1594 exceptions apply:
1595
1596-1. Leo will never read (import) or write an @shadow tree if the @shadow tree is
1597- under the influence of an @ignore directive.
1598+1. Leo will never read (import) or write an ``@shadow`` tree if the ``@shadow`` tree is
1599+ under the influence of an ``@ignore`` directive.
1600
1601-2. Saving a .leo file does not save @shadow nodes if:
1602+2. Saving a .leo file does not save ``@shadow`` nodes if:
1603
1604 a) they haven't been changed or,
1605
1606- b) they do not contain a **significant** amount of information. An @auto tree
1607+ b) they do not contain a **significant** amount of information. An ``@auto`` tree
1608 contains a significant amount of information if it has children or if the
1609 root node contains more than 10 characters.
1610
1611-Leo imports shadow trees by parsing the corresponding public file, exactly as is
1612-done for @auto node. See the discussion of @auto above for details.
1613+Leo can do an initial import of ``@shadow`` trees by parsing the corresponding public file, exactly as is
1614+done for ``@auto`` node. See the discussion of `\@auto`_ for details.
1615 </t>
1616 <t tx="ekr.20080730212711.42">The first step in creating an @shadow tree is to create a node whose headline is
1617 @shadow *&lt;filename&gt;*. This is always safe, even if *&lt;filename&gt;* already
1618@@ -27350,64 +26885,65 @@
1619 **Note**: just as for @auto, Leo will never read (import) or write an @shadow tree if
1620 the @shadow node is under the influence of an @ignore directive.
1621 </t>
1622-<t tx="ekr.20080730212711.44">Creates an external file containing sentinels. Thin exteral files contain all
1623-information needed to recreate the @thin tree in the outline. The @all directive
1624-is valid only in @thin trees, not @file trees. In a collaborative environment,
1625+<t tx="ekr.20080730212711.44">Create an external file containing sentinels. An ``@thin`` external file contains all the
1626+information needed to recreate the ``@thin`` tree in the outline. In a collaborative environment,
1627 where a version control system is utilized and everyone can use Leo for editing,
1628-@thin is the recommended way to hold most of the content.
1629+``@thin`` is the recommended way to hold most of the content.
1630 </t>
1631-<t tx="ekr.20080730212711.47">@auto trees allow people to use Leo in collaborative environments without using
1632-sentinels in the files Leo generates. In contrast to @nosent, @auto trees can
1633+<t tx="ekr.20080730212711.47">``@auto`` trees allow people to use Leo in collaborative environments without using
1634+sentinels in the files Leo generates. In contrast to ``@nosent``, ``@auto`` trees can
1635 change when the corresponding file changes outside of Leo.
1636
1637-Leo will automatically recreate (import) all @auto trees when reading a .leo
1638-file, and will write all dirty @auto trees when saving a .leo file. There are
1639+Leo automatically recreates (imports) all ``@auto`` trees when reading a .leo
1640+file, and writes all dirty ``@auto`` trees when saving a .leo file. There are
1641 two exceptions to this statement:
1642
1643-1. Leo will never read (import) or write an @auto tree if
1644-the root @auto tree is under the influence of an @ignore directive.
1645-
1646-2. Saving a .leo file does not save @auto nodes if:
1647-
1648-a) they haven't been changed or,
1649-
1650-b) they do not contain a **significant** amount of information. An @auto tree
1651+1. Leo never reads (imports) or writes an ``@auto`` tree if
1652+the root ``@auto`` tree is under the influence of an ``@ignore`` directive.
1653+
1654+2. Saving a .leo file does not save ``@auto`` nodes if:
1655+
1656+a) they haven't changed or,
1657+
1658+b) they do not contain a **significant** amount of information. An ``@auto`` tree
1659 contains a significant amount of information if it has children or if the
1660 root node contains more than 10 characters.
1661
1662-Leo creates @auto trees by parsing the corresponding external file. Parsers
1663+Leo creates ``@auto`` trees by parsing the corresponding external file. Parsers
1664 create descendant nodes of the @auto tree: one node for each class, method and
1665-function in the external file.
1666+function in the external file, and sometimes nodes for declarations, docstrings
1667+or other recognized components.
1668
1669 Parsers presently exist for C, elisp, Java, Javascript, Pascal, PHP, Python and xml. Leo
1670 determines the language using the file's extension. Notes:
1671
1672-- If no parser exists for a language, the entire body of the external file is
1673- copied to the body of the @auto node.
1674-
1675-- Javascript regexps that look like section references cause problems, but that
1676- can not be helped.
1677-
1678-- Use the @data import_xml_tags setting in leoSettings.leo to specify the xml
1679+- If no parser exists for a language, Leo copies the entire body of the external file into the ``@auto`` node.
1680+
1681+- Javascript regexps that look like section references are dealt with using the ``@verbatim`` directive
1682+ which suppresses all directive interpretation in the single immediately following line
1683+ (the colorizer may remain confused).
1684+
1685+- Use the ``@data import_xml_tags`` setting to specify the xml
1686 tags that create outline nodes. By default, the **organizer tags** are html,
1687- body, head, and div.</t>
1688-<t tx="ekr.20080730212711.51">The @root directive creates external files that are more flexible than @file,
1689+ body, head, and div.
1690+</t>
1691+<t tx="ekr.20080730212711.51">The \@root directive creates external files that are more flexible than @file,
1692 @thin, @shadow, etc. The @root directive must appear in body text, not the headline.
1693
1694-- Sections may be defined anywhere within @root trees.
1695- Moreover, the @unit directive expands the scope of section definitions in @root trees
1696- so that a section may be referenced in several @root trees.
1697+- Sections may be defined anywhere within \@root trees.
1698+ Moreover, the @unit directive expands the scope of section definitions in \@root trees
1699+ so that a section may be referenced in by any \@root trees beneath the @unit directive.
1700
1701 - The meaning of section definitions in @root trees are independent of their position within the tree.
1702
1703 However, this flexibility comes at a cost:
1704
1705 - @thin and @file trees use less markup than @root trees.
1706- In particular, the @others directive is valid only within @file and @thin trees.
1707-
1708-- You must explicitly tangle and untangle @root trees using the Tangle and Untangle commands.
1709-
1710-See `@root reference`_ for more details.</t>
1711+ In particular, the \@others directive is valid only within @file and @thin trees.
1712+
1713+- You must explicitly tangle and untangle \@root trees using the Tangle and Untangle commands.
1714+
1715+See `\@root reference`_ for more details.</t>
1716 <t tx="ekr.20080730212711.52">There is one boundary case that the update algorithm can not resolve.
1717 If a line is inserted at the boundary between nodes,
1718 the updated algorithm can not determine whether the line should be inserted
1719@@ -28432,22 +27968,15 @@
1720
1721 - color is a tk color name, even when using the qt gui plugin.
1722 </t>
1723-<t tx="ekr.20090307063422.4">Reads a file into a single node.
1724-@edit is similar to @auto; saving a .leo file does not save dirty @edit nodes
1725-if they do not contain a **significant** amount of information. An @edit tree
1726+<t tx="ekr.20090307063422.4">Read a file into a single node.
1727+``@edit`` is similar to ``@auto`` in that saving a .leo file does not save a dirty ``@edit`` node
1728+unless it contains a **significant** amount of information. An ``@edit`` tree
1729 contains a significant amount of information if it has children or if the root
1730-node contains more than 10 characters.
1731+node contains more than 10 characters. In and ``@edit`` tree, Leo interprets text generation and tree walk
1732+directives in the manner of an ``@file`` or ``@thin`` subtree, but any such structure is lost
1733+once you close the leo window.
1734+
1735 </t>
1736-<t tx="ekr.20090307063422.7">Initially, Leo's File:Open command creates such nodes when opening any
1737-non-.leo file.
1738-
1739-When writing @edit nodes, Leo uses Leo's @auto write logic. That is,
1740-no sentinels are written.
1741-
1742-When reading @edit nodes, Leo just puts then entire text of the file
1743-into the node, along with @language or @nocolor directives as
1744-appropriate. These added directives will not change the file when it
1745-gets written because no sentinels are written.</t>
1746 <t tx="ekr.20090324085713.2">Leo 4.6 beta 1 March 23, 2009
1747
1748 Leo 4.6 b1 is now available at:
1749@@ -29247,6 +28776,8 @@
1750 python configure.py
1751 make
1752 sudo make install
1753+
1754+ E: If you have a pre-packaged way to install these libraries, please contribute!
1755 </t>
1756 <t tx="ekr.20090705111443.10370">Leo sends more detailed error messages to stderr,
1757 the output stream that goes to the console window. In Linux and MacOS
1758@@ -31173,7 +30704,7 @@
1759 commands`_ that apply to the body pane.
1760 </t>
1761 <t tx="ekr.20091130111843.6817">A **clone** is a node that appears in more than one place in a Leo outline.
1762-Clones are marked with a small red arrow in the icon box. All clones of a node
1763+Clones are marked with a small red circular arrow in the icon box. All clones of a node
1764 are actually *the same node*, so any change to one clone affects all clones. For
1765 example, inserting, moving or deleting any child of a clone will change all
1766 other clones on the screen.
1767@@ -31366,7 +30897,7 @@
1768 outside of Leo, Leo will update the corresponding \@thin tree to reflect those
1769 changes when Leo next opens the outline.
1770
1771-- When you save your outline, Leo writes all **dirty** \@thin nodes. An \@thin
1772+- When you save your outline, Leo writes all **dirty** \@thin nodes. An \@thin node
1773 is dirty if the node or any of its descendant nodes has changed.
1774 **Important**: When Leo writes an external file, Leo writes all the essential
1775 information in the \@thin tree to the external file, *not* to the .leo file.
1776@@ -34574,6 +34105,467 @@
1777 containing the body text's cursor, **fcol** shows the cursor coordinate
1778 relative to the external file, not to the curent node. The relation
1779 **fcol &gt;= col** is always true.</t>
1780+<t tx="sps.20100504170836.13115"></t>
1781+<t tx="sps.20100504170836.13116"></t>
1782+<t tx="sps.20100504170836.13117"></t>
1783+<t tx="sps.20100504170836.13118">@language python
1784+import os
1785+pos = c.find_h("Users Guide")[0]
1786+c.selectPosition(pos)
1787+c.k.simulateCommand('rst3')
1788+&lt;&lt; html manual &gt;&gt;
1789+&lt;&lt; pdf manual &gt;&gt;
1790+</t>
1791+<t tx="sps.20100504170836.13120">d = c.scanAllDirectives(p)
1792+mandir = d.get('path') + "/html"
1793+g.es(mandir)
1794+os.chdir(mandir)
1795+os.system('make html')</t>
1796+<t tx="sps.20100504170836.13122"># you probably need to install several packages
1797+# to create pdf (e.g. jadetex)
1798+mandir = d.get('path') + "/html"
1799+g.es(mandir)
1800+os.chdir(mandir)
1801+os.system('make latex')
1802+os.chdir('_build/latex')
1803+os.system('make all-pdf')
1804+</t>
1805+<t tx="sps.20100506030816.13127">Leo has an initially bewildering array of ways to turn outlines into external files. This history, simplified to the point of inaccuracy, may help you decide which of the varieties are appropriate to your project. For a better and more detailed history, see `History of Leo`_.
1806+
1807+The original external file directive was ``@root``, which has gone through several sets of semantics, and
1808+is about to change again, so it will not be described here until those semantics are settled.
1809+
1810+Patterns in how ``@root`` trees were used suggested a different and easier way of deriving code from the outline: ``@file``. This directive occurs in the headline. Instead of explicitly naming each section, just put an ``@others`` directive where you want all the otherwise unplaced child sections collected; if you want a section put in a more specific place, specifying ``&lt;&lt;`` *section* ``&gt;&gt;`` will put it at that location in the body, and consequently require that ``&lt;&lt;`` *section* ``&gt;&gt;`` appear as a child headline defining that section. The other innovation with ``@file`` is what happens when Leo starts: there is an immediate "untangle" of each ``@file``, thus incorporating changes from outside Leo into Leo's model of the file. Correspondingly, when Leo exits, you're prompted to "save" (tangle) any altered ``@file`` (including alterations to child nodes).
1811+
1812+The next mutation was ``@thin``. ``@file`` created source code with sentinels containing almost, but not all, of what was needed to recreate the outline for the ``@file``. That same information was in the .leo file. Situations could arise where that information was inconsistent, and create headaches. ``@thin`` was like ``@file``, except that *everything* needed to create the ``@thin`` outline goes into the sentinels, and *does not* go into the Leo file, thus severely reducing opportunities for inconsistency. This has been so successful that the old ``@file`` directive now forcibly converts ``@file`` derived source code to ``@thin`` style sentinels, and otherwise acts as a synonym for ``@thin``. (Beware, however, if you use both pre-4.7 and 4.7 *et post* versions of Leo with ``@file``: change each ``@file`` headline to ``@thin`` immediately, else the incompatible sentinels for ``@file`` between the versions will be most painful.)
1813+
1814+If you look at source code managed with ``@thin``, the sentinels will stand silently in their commented multitudes - which may be reassuring to the Leo user, but appear to the non-Leo reader as a massive invasion. The sentinels are almost necessary for pulling in changes from external files, but if those sentinels are banished, any number of compromise approaches can be imagined - and most of them seem to have been implemented. All these directives can appear in a headline and create files without sentinels:
1815+
1816+\@auto
1817+ parses the external file to put language apppropriate nodes (modules, classes, methods, functions...) into an @thin-like outline
1818+
1819+\@asis
1820+ does a strict tree walk to generate the file, ignoring ``@others`` and ``&lt;&lt;`` *section* ``&gt;&gt;`` references, keeps everything in the .leo file and ignores changes from outside Leo
1821+
1822+\@edit
1823+ honors markup directives like ``@others`` when writing the external file, but when opening the .leo file, the contents of the external file all go into one node, which *might* have a language directive (e.g., ``@language python``), but never any children
1824+
1825+\@nosent
1826+ writes files honoring the directives in the manner of ``@thin``, keeps copies of everything in the Leo file, and ignores changes introduced into the external file
1827+
1828+\@shadow
1829+ reads and writes two versions of each file, one without sentinels, and a hidden one with sentinels as if it were ``@thin``, then uses the sentinels in the hidden file to make sense of externally introduced changes to the unsentineled file
1830+
1831+There are subtleties and crucial details to each of these external file generation directives: read the descriptive sections carefully.</t>
1832+<t tx="sps.20100506153234.13364">These file directives are valid only in headlines, with the exception of ``@path``, which may appear in both a headline or a body.
1833+
1834+In the following table all terms in each row are equivalent.
1835+The spelling in the first column is preferred:
1836+
1837+=========== =============== =================
1838+\@asis \@file-asis \@silent
1839+----------- --------------- -----------------
1840+\@nosent \@file-nosent \@nosentinelsfile
1841+=========== =============== =================
1842+
1843+The following table summarizes the differences between
1844+the various kinds of external file directives.
1845+
1846++---------+------------+-------------------+
1847+| | | Sections and |
1848+| Type | Sentinels? | @others expanded? |
1849++---------+------------+-------------------+
1850+| @asis | no | no |
1851++---------+------------+-------------------+
1852+| @auto | no | no |
1853++---------+------------+-------------------+
1854+| @edit | no | yes |
1855++---------+------------+-------------------+
1856+| @file | yes | yes |
1857++---------+------------+-------------------+
1858+| @nosent | no | yes |
1859++---------+------------+-------------------+
1860+| @shadow | yes and no | yes |
1861++---------+------------+-------------------+
1862+| @thin | yes | yes |
1863++---------+------------+-------------------+
1864+
1865+The ``@all`` directive in any environment supercedes ``@others`` and section expansion.
1866+
1867+Leo can not update the outline from changes made from external files unless
1868+those files contain sentinels. The primary source for ``@nosent`` and ``@asis`` trees
1869+are the outlines from which those files were created.
1870+
1871+For ``@shadow`` trees, Leo creates *two* files, a **public** file without sentinels,
1872+and a **private** file (by default in the ``.leo_shadow`` subfolder) containing
1873+sentinels. The primary sources for ``@shadow`` trees are the private files, updated
1874+by changes to the public file.
1875+</t>
1876+<t tx="sps.20100506153234.13365"></t>
1877+<t tx="sps.20100506153234.13366"></t>
1878+<t tx="sps.20100506153234.13367"></t>
1879+<t tx="sps.20100506153234.13369">In the ``@auto``, ``@edit``, ``@file``, ``@nosent``, ``@shadow`` and ``@thin`` trees, ``&lt;&lt;`` *section* ``&gt;&gt;`` in the headline specifies that this node and its descendants define a named section; in the body of a node, it specifies the location at which the text of a named section (defined in a child node) is to be interpolated.
1880+
1881+As with nearly all other directives, sections are ignored in ``@asis`` trees or when governed by ``@all``.
1882+</t>
1883+<t tx="sps.20100507011942.13175">- **\@color**, **\@nocolor**, **\@nocolor-node** and **\@killcolor**
1884+ Control syntax coloring.
1885+
1886+- **\@wrap** and **\@nowrap**
1887+ Enable or disable line wrapping the Leo's body pane.
1888+</t>
1889+<t tx="sps.20100507011942.13176"></t>
1890+<t tx="sps.20100507011942.13177">- **\@asis**
1891+ Creates an external file without sentinels,
1892+ containing exactly the data in the ``@asis`` tree,
1893+ without expanding section references or ``@others`` directives.
1894+
1895+- **\@auto**
1896+ Imports the external file every time Leo reads the outline.
1897+ The ``read-at-auto-nodes`` and ``write-at-auto-nodes`` commands can
1898+ be used to read and write and ``@auto`` nodes.
1899+
1900+- **\@edit**
1901+ Reads an external file into a single node.
1902+
1903+- **\@file**
1904+ A synonym for ``@thin``.
1905+
1906+- **\@nosent**
1907+ Same as ``@thin``, but the external file contains no sentinels.
1908+
1909+- **\@path**
1910+ Set the path to be appended to filenames (influences all child external file directives).
1911+
1912+- **\@shadow**
1913+ Creates two external files, a **public** file without sentinels,
1914+ and a **private** file containing sentinels.
1915+ Imports the file just as ``@auto`` does if the private file does not exist.
1916+
1917+- **\@thin**
1918+ Creates an external file containing sentinels.
1919+ Thin external files miminize cvs and bzr conflicts.
1920+ All essential information is stored in the thin external file.
1921+</t>
1922+<t tx="sps.20100507011942.13178">- **\@**
1923+ Starts a doc part. ``@doc`` is a deprecated synonym.
1924+
1925+- **\@c**
1926+ Starts a code part. ``@code`` is a deprecated synonym.
1927+
1928+- **\@comment**
1929+ Sets comment delimiters.
1930+
1931+- **\@delims**
1932+ Sets comment delimiters in ``@thin`` and ``@file`` trees.
1933+
1934+- **\@encoding**
1935+ Sets the Unicode encoding used in external files.
1936+
1937+- **\@first**
1938+ Forces lines to appear before the first sentinel of an external file.
1939+
1940+- **\@last**
1941+ Forces lines to appear after the last sentinel of an external file.
1942+
1943+- **\@language**
1944+ Sets the language used for syntax coloring **and**
1945+ sets the comment delimiters used in sentinel lines and in doc parts.
1946+
1947+- **\@lineending**
1948+ Sets the line ending to be used in external files.
1949+
1950+- **\@pagewidth**
1951+ Sets the page width used to break doc parts into lines.
1952+
1953+- **\@raw** and **\@end_raw**
1954+ Delimit a section of 'raw' text.
1955+
1956+- **\@tabwidth**
1957+ Sets the width of tabs.
1958+ Negative tab widths cause Leo to convert tabs to spaces.
1959+
1960+- **\@verbatim**
1961+ Causes directives on the immediately following line to be uninterpreted.
1962+</t>
1963+<t tx="sps.20100507011942.13179">- **\&lt;\&lt;** *section* **\&gt;\&gt;**
1964+ In body, interpolates a named section; in headline, defines a named section.
1965+
1966+- **\@all**
1967+ Copies *all* descendant nodes to the external file, with node sentinels.
1968+ No further directives honored.
1969+
1970+- **\@ignore**
1971+ Causes Leo to skip processing all or part of an external file.
1972+
1973+- **\@others**
1974+ Copies all nodes *except* section definition nodes to the external file.</t>
1975+<t tx="sps.20100507011942.13180">- **\&lt;\&lt;** *section* **\&gt;\&gt;** and **\&lt;\&lt;** *section* **\&gt;\&gt;=**
1976+ Interpolate or define a named section of code.
1977+
1978+- **\@root**, **\@root-code** and **\@root-code**
1979+ Start an ``\@root`` tree.
1980+ The last two forms set the starting mode for body text.
1981+ These directives must appear in body text.
1982+
1983+- **\@**
1984+ Start a doc part. ``@doc`` is a deprecated synonym.
1985+
1986+- **\@c**
1987+ Start a code part. ``@code`` is a deprecated synonym.
1988+
1989+- **\@comment**
1990+ Set comment delimiters.
1991+
1992+- **\@language**
1993+ Set the language used for syntax coloring **and**
1994+ set the comment delimiters used in sentinel lines.
1995+
1996+- **\@lineending**
1997+ Set the line ending to be used in external files.
1998+
1999+- **\@tabwidth**
2000+ Set the width of tabs.
2001+ Negative tab widths cause Leo to convert tabs to spaces.
2002+
2003+- **\@unit**
2004+ Change the scope within which ``\@root`` section names are valid.
2005+
2006+- **@verbose**, **@terse**, **@quiet** and **@silent**
2007+ Set the verbosity of sentinels.</t>
2008+<t tx="sps.20100507011942.13181"></t>
2009+<t tx="sps.20100507011942.13182"></t>
2010+<t tx="sps.20100507011942.13185">The @path directives override the deprecated default_tangle_directory setting.
2011+
2012+The form of the \@path directive is ``\@path`` *directory*,
2013+where *directory* is taken to be everything following \@path to the end of the line.
2014+
2015+When an external file directive such as @thin or @root specifies an absolute path, no \@path or setting affects the external file name. When the external file directive specifies a relative name, Leo derives the directory to which that path is relative as follows:
2016+
2017+1. the directory specified by @path directives in parent nodes, or
2018+2. the "Default Tangle Directory" in the Settings dialog if no @path directive is in effect, or
2019+3. the directory in which the .leo file resides if the .leo file has ever been saved.
2020+
2021+The closest parent with an absolute path takes precedence; \@path directives specifying relative directory names are relative to their parent nodes; if no \@path directive gives an absolute directory name, then the topmost @path is relative to either (2) or (3) in the list above.
2022+
2023+An error occurs if no absolute path can be computed according to these rules,
2024+or if the derived directory name does not exist.
2025+</t>
2026+<t tx="sps.20100507011942.13189">The @ directive starts a doc part.
2027+Doc parts continue until an @c directive or the end of the body text.
2028+For example::
2029+
2030+ @ This is a comment in a doc part.
2031+ Doc parts can span multiple lines.
2032+ The next line ends the doc part
2033+ @c
2034+
2035+\@doc is a synonym for @, but @ is preferred.
2036+
2037+In \@thin style external files, such documentation sections appear as comments, using comment
2038+characters appropriate to the language, or as specified by the prevailing @comment or @delims
2039+directive.
2040+
2041+**NOTES**:
2042+
2043+- Following in the tradition of Literate Programming tangle,
2044+ content of the body of an \@root node or its subnodes
2045+ which is not contained in the code part of a section definition
2046+ will not appear in the external file.
2047+
2048+- A governing @asis, @all, @raw or @verbatim directive causes the directive
2049+ to be uninterpreted and simply copied to the external file.
2050+</t>
2051+<t tx="sps.20100507011942.13191">The @c directive ends a doc part and begins a code part.
2052+@code is a synonym for @c, but @c is preferred.
2053+
2054+In @root and @unit trees, the headline must contain a valid section name.</t>
2055+<t tx="sps.20100507011942.13193">**Note**: the @comment directive is deprecated: you should use the @language
2056+directive whenever possible. However, sometimes using both @language and
2057+@comment is useful. For this to be effective the @comment directive should
2058+appear after the @language directive (in outline order).
2059+
2060+Untangle will not process an @root or @unit node if an @comment
2061+directive is in effect because @comment make parsing an
2062+external file ambiguous. It might be
2063+possible to assume some defaults in this case, but that is not done at present
2064+and is not a high priority.
2065+(If you donate code and proper unit tests, it will be happily considered.)
2066+By default, tangle of an @root node or saving an @thin style tree produces C-language
2067+comments. Single-line comments generated during tangling start with ``//``, while
2068+documentation parts are surrounded by ``/*`` and ``*/``. The @comment directive allows
2069+you to use Tangle to produce shell and make files, as well as source code for
2070+other programming languages.
2071+
2072+The @comment directive may be followed by zero to three delimiters, separated by
2073+whitespace. This directive sets the single-line comment delimiter and the
2074+opening and closing block comment delimiters as follows:
2075+
2076+======================== =====================================================================
2077+``@comment`` no args\: restores the defaults to ``//``, ``/*`` and ``*/``
2078+------------------------ ---------------------------------------------------------------------
2079+``@comment //`` \1 arg\: sets the single-line comment and clears the other delims.
2080+------------------------ ---------------------------------------------------------------------
2081+``@comment /* */`` \2 args\: sets the block comment delims; clears the single-line delim.
2082+------------------------ ---------------------------------------------------------------------
2083+``@comment // /\* \*/`` \3 args\: sets all three delimiters.
2084+======================== =====================================================================
2085+
2086+If only one delimiter is given and the external file is generated by \@root, tangle does not write
2087+any documentation parts; @thin style external files precede each line of a
2088+recognized (that is, ungoverned by something like @all) documentation part with the delimiter.
2089+
2090+If two delimiters are given, block-style comments are used instead of single-line comments.
2091+For example, ``@comment { }`` could be used to tangle Pascal files.
2092+
2093+The @comment directive is only recognized in \@root, \@unit, @file and @thin nodes,
2094+and the @comment directive must precede the first section name or @c directive.
2095+An @comment directive in the same body text as an @unit directive specifies the current global defaults.
2096+An @comment directive in the same body text as an @root directive affects comments generated for that root only.
2097+Comments in all other roots are governed by the global defaults.
2098+
2099+Leo will convert underscores in the @comment directives to significant spaces. For example::
2100+
2101+ @comment REM_
2102+
2103+causes the comment delimiter to be "REM " (Note the trailing space).</t>
2104+<t tx="sps.20100507011942.13195">The @language directive specifies the comment delimiters and string types used by the
2105+Tangle and Untangle commands.
2106+This directive over-rides the default specified in the settings dialog.
2107+
2108+When the threading_colorizer plugin is enabled, the valid @language directives are::
2109+
2110+ @language x
2111+
2112+where the leo/modes folder contains the file x.py. When the threading_colorizier plugin is not enabled,
2113+the 'old' colorizer is used and the valid @language directives are::
2114+
2115+ @language actionscript
2116+ @language c
2117+ @language c++
2118+ @language cweb
2119+ @language elisp
2120+ @language html
2121+ @language java
2122+ @language latex
2123+ @language objective-c
2124+ @language pascal
2125+ @language perl
2126+ @language perlpod
2127+ @language plain
2128+ @language python
2129+ @language rebol
2130+ @language shell
2131+ @language tcltk
2132+
2133+Shell files have comments that start with `#`.
2134+Case is ignored in the language specifiers, but not in the @language itself.
2135+Thus, the following are equivalent::
2136+
2137+ @language html
2138+ @language HTML
2139+ @language hTmL
2140+
2141+but the following is invalid::
2142+
2143+ @LANGUAGE html</t>
2144+<t tx="sps.20100507011942.13197">The @verbose, @terse, @quiet and @silent directives determine
2145+how the Tangle command outputs comments in @root trees.
2146+Comments written by the user in code sections are always output.
2147+These directives control only:
2148+a) the comments containing doc sections and
2149+b) sentinel comments that delimit the beginning and end of code sections.
2150+
2151+When @verbose is in effect Tangle outputs all comments.
2152+When @terse is in effect, Tangle outputs only those comments necessary for Untangle to work.
2153+When @silent is in effect Tangle adds no additional comments.
2154+The @quiet directive is like @silent except that it does output leading sentinels as comments.
2155+Like @silent, @quiet inhibits untangling.
2156+@verbose is the default.
2157+If more than one of these directives appear in the same body text the "most verbose" of these options will be in effect.</t>
2158+<t tx="sps.20100507011942.13198">The ``@verbatime`` directive causes the immediately succeeding single line to be copied to the generated file;
2159+in this way, content that might otherwise be mistaken for a section definition or directive can be escaped.
2160+</t>
2161+<t tx="sps.20100507011942.13200">In the \@auto, \@edit, \@file, \@nosent, \@shadow and \@thin trees, ``\&lt;\&lt;``*section*``\&gt;\&gt;`` in the headline specifies that this node and its descendants defines a named section; in the body of a node, it specifies the location at which the text of a named section (defined in a child node) is to be interpolated
2162+
2163+In \@root nodes, ``\&lt;\&lt;``*section*``\&gt;\&gt;`` in a headline *adds* the text of its body and descendants to to the named section; in a body, ``\&lt;\&lt;``*section*``\&gt;\&gt;`` spcifies the point at which Leo should interpolated a named section. In a body, ``\&lt;\&lt;``*section*``\&gt;\&gt;=`` appends the following text to the definition of *section*. Surprises abound; study the `\@root reference`_ .
2164+
2165+As with nearly all other directives, sections are ignored in \@asis trees.
2166+</t>
2167+<t tx="sps.20100507011942.13202">The @unit directive expands the scope of section definitions in @root trees
2168+so that a section may be referenced in several @root trees.
2169+The @unit directive is ignored outside of @root trees.</t>
2170+<t tx="sps.20100507011942.17787">Leo performs several checks to ensure that the result of importing an external
2171+file will be equivalent to the file that writing the ``@auto ``tree would produce.
2172+
2173+These checks can produces **errors** or **warnings**. Errors indicate a
2174+potentially serious problem. Leo inserts an ``@ignore`` directive in the ``@auto`` tree
2175+if any error is found. This ``@ignore`` directive prevents the ``@auto`` tree from
2176+modifying the external file. If you remove or displace the ``@ignore`` directive, a later write of the
2177+``@auto`` tree will attempt to fix the problems that gave rise to the errors. There
2178+are no guarantees however.
2179+
2180+Before importing a file, Leo **regularizes** the leading whitespace of all lines
2181+of the original source file. That is, Leo converts blanks to tabs or tabs to
2182+blanks depending on the value of the @tabwidth directive in effect for the ``@auto``
2183+node. Leo also checks that the indentation of any non-blank line is not a
2184+multiple of the indentation specified by the ``@tabwidth`` directive in effect for
2185+the ``@auto`` node.
2186+
2187+Leo cannot guarantee to reproduce the original source file exactly if problems
2188+are discovered while regularizing leading whitespace. **Strict languages** are
2189+languages such as Python for which leading whitespace must be preserved exactly
2190+as it appears in the original source file. Problems during regularizing whitespace generate
2191+errors for strict languages and warnings for non-strict languages.
2192+
2193+After importing a file, Leo verifies that writing the ``@auto`` node would create
2194+*exactly* the same file as the original file. Such file comparison mismatches
2195+generate errors unless the problem involves only leading whitespace for
2196+non-strict languages. Whenever a mismatch occurs the first non-matching line is
2197+printed.
2198+
2199+File comparison mismatches can arise for several reasons:
2200+
2201+1. Bugs in the import parsers. Please report any suspected bugs immediately.
2202+
2203+2. Underindented lines in classes, methods or function. An **underindented
2204+ line** is a line that is indented less then the starting line of the class,
2205+ method or function in which it appears. Leo outlines can not represent such
2206+ lines exactly: every line of node implicitly has at least the indentation of
2207+ any unindented line of the node.
2208+
2209+Leo will issue a warning (not an error) for underindented Python comment lines.
2210+Such lines can not change the meaning of Python programs.</t>
2211+<t tx="sps.20100507011942.17789">FIXME: This section is probably relevant to Read @&lt;file&gt; Nodes; the former named menu entries are no longer present.
2212+
2213+Three commands in the File:Read/Write menu allow you to manually read and
2214+write ``@auto`` nodes from the presently selected outline. As always, an ``@ignore``
2215+directive in the ``@auto`` node or its ancestors will suppress any of these
2216+commands:
2217+
2218+- The **Read @auto Nodes** (read-at-auto-nodes) command reads all @auto nodes in the
2219+ presently selected outline. An @ignore directive will suppress this import.
2220+
2221+- The **Write @auto Nodes** (write-at-auto-nodes) command writes all @auto nodes. An
2222+ ``@ignore`` directive will suppress this import. Caution: the write will occur even
2223+ if Leo has not previously read the @auto node.
2224+
2225+- The **Write Dirty @auto Nodes** (write-dirty-at-auto-nodes) is the same as the
2226+ write-at-auto-nodes command, except that only changed ``@auto`` trees are written.
2227+
2228+Most users will rarely use these explicit commands, because reading and writing
2229+.leo files handles ``@auto`` nodes well enough. However, you can use the
2230+read-at-auto-nodes command to update @auto nodes without having to reload the
2231+.leo file.
2232+</t>
2233+<t tx="sps.20100507011942.17790">The earliest variety of file generation was the \@root directive, designed to work with either `CWEB`_ or `noweb`_ markup. The model for CWEB and noweb were for the person to edit a text ("web") file containing code and markup, and then "tangle" the file into a source code file appropriate for the compiler or interpreter, and to "weave" the text file into a beautifully typeset narrative which explained all the inner workings of the code. Leo's innovation was to realize that a lot of what the markup was doing was to expose the often hidden conceptual structure of the code, and that this could be done better with an outline. Thus in Leo, "tangling" creates the source files from the outline, "weaving" is dropped, and "untangling" turns source files into outlines. That last trick nearly always requires some assistance from the source file, in the form of special comments called "sentinels" which help Leo discover the names of outline headlines and the boundaries in the chunks of text (bodies) corresponding to those headlines - and which chunks are subheads to other subheads. As with CWEB and noweb, the specifications for how to assemble the nodes into the program source code are explicit: ``\&lt;\&lt;`` *section* ``\&gt;\&gt;`` specifies the location where Leo emits the section, and ``\&lt;\&lt;`` *section* ``\&gt;\&gt;=`` *code* adds snippets of code to the end of the section.</t>
2234+<t tx="sps.20100507011942.17791">\@root
2235+ This directive is the most flexible, the most difficult to use, and behaves
2236+ very differently from every other file generating directive. It comes closest
2237+ in spirit to traditional literate programming tools.
2238+ However, it is seldom necessary to suffer the drawbacks of using ``@root``.
2239+ Avoid using ``@root`` unless you have a compelling reason. Forget everything
2240+ you've read about headline family file generation as you carefully study the `\@root reference`_.</t>
2241 <t tx="tbrown.20091203211538.14165">Makes \@path nodes "active".
2242
2243 With this plugin running, double clicking on \@path nodes
2244
2245=== added directory 'leo/doc/html/_build'
2246=== added directory 'leo/doc/html/_build/latex'
2247=== added file 'leo/doc/html/_build/latex/LeoDoc.pdf'
2248--- leo/doc/html/_build/latex/LeoDoc.pdf 1970-01-01 00:00:00 +0000
2249+++ leo/doc/html/_build/latex/LeoDoc.pdf 2010-05-11 20:36:27 +0000
2250@@ -0,0 +1,24321 @@
2251+%PDF-1.4
2252+%ÐÔÅØ
2253+5 0 obj
2254+<< /S /GoTo /D (chapter*.1) >>
2255+endobj
2256+8 0 obj
2257+(Acknowledgements)
2258+endobj
2259+9 0 obj
2260+<< /S /GoTo /D (chapter*.1) >>
2261+endobj
2262+11 0 obj
2263+(Leo's MIT License)
2264+endobj
2265+12 0 obj
2266+<< /S /GoTo /D (chapter*.2) >>
2267+endobj
2268+15 0 obj
2269+(Preface)
2270+endobj
2271+16 0 obj
2272+<< /S /GoTo /D (chapter*.3) >>
2273+endobj
2274+19 0 obj
2275+(What People Are Saying About Leo)
2276+endobj
2277+20 0 obj
2278+<< /S /GoTo /D (section*.4) >>
2279+endobj
2280+23 0 obj
2281+(Leo is revolutionary)
2282+endobj
2283+24 0 obj
2284+<< /S /GoTo /D (section*.4) >>
2285+endobj
2286+26 0 obj
2287+(Leo is a showcase Python/Tkinter application)
2288+endobj
2289+27 0 obj
2290+<< /S /GoTo /D (section*.4) >>
2291+endobj
2292+29 0 obj
2293+(Leo is fun, even addicting)
2294+endobj
2295+30 0 obj
2296+<< /S /GoTo /D (section*.4) >>
2297+endobj
2298+32 0 obj
2299+(Leo is a flexible, powerful IDE)
2300+endobj
2301+33 0 obj
2302+<< /S /GoTo /D (section*.4) >>
2303+endobj
2304+35 0 obj
2305+(Leo is a superb outliner)
2306+endobj
2307+36 0 obj
2308+<< /S /GoTo /D (section*.4) >>
2309+endobj
2310+38 0 obj
2311+(Leo is an excellent PIM)
2312+endobj
2313+39 0 obj
2314+<< /S /GoTo /D (section*.4) >>
2315+endobj
2316+41 0 obj
2317+(Leo extends, completes and simplifies literate programming)
2318+endobj
2319+42 0 obj
2320+<< /S /GoTo /D (section*.4) >>
2321+endobj
2322+44 0 obj
2323+(Leo is a superb documentation tool)
2324+endobj
2325+45 0 obj
2326+<< /S /GoTo /D (section*.4) >>
2327+endobj
2328+47 0 obj
2329+(Leo simplifies the understanding of complex systems)
2330+endobj
2331+48 0 obj
2332+<< /S /GoTo /D (section*.4) >>
2333+endobj
2334+50 0 obj
2335+(Leo is stable, well designed and well supported)
2336+endobj
2337+51 0 obj
2338+<< /S /GoTo /D (section*.4) >>
2339+endobj
2340+53 0 obj
2341+(Longer quotes...)
2342+endobj
2343+54 0 obj
2344+<< /S /GoTo /D (chapter*.5) >>
2345+endobj
2346+57 0 obj
2347+(FAQ)
2348+endobj
2349+58 0 obj
2350+<< /S /GoTo /D (section*.6) >>
2351+endobj
2352+61 0 obj
2353+(Getting Leo)
2354+endobj
2355+62 0 obj
2356+<< /S /GoTo /D (Item.10) >>
2357+endobj
2358+65 0 obj
2359+(Installing Leo)
2360+endobj
2361+66 0 obj
2362+<< /S /GoTo /D (Item.10) >>
2363+endobj
2364+68 0 obj
2365+(Learning to use Leo)
2366+endobj
2367+69 0 obj
2368+<< /S /GoTo /D (Item.10) >>
2369+endobj
2370+71 0 obj
2371+(How Should I Use Leo With bzr/git/hg/svn/cvs?)
2372+endobj
2373+72 0 obj
2374+<< /S /GoTo /D (Item.10) >>
2375+endobj
2376+74 0 obj
2377+(How Can I Use Leo Cooperatively Without Sentinels?)
2378+endobj
2379+75 0 obj
2380+<< /S /GoTo /D (Item.10) >>
2381+endobj
2382+77 0 obj
2383+(Using External Files)
2384+endobj
2385+78 0 obj
2386+<< /S /GoTo /D (Item.10) >>
2387+endobj
2388+80 0 obj
2389+(Customizing Leo)
2390+endobj
2391+81 0 obj
2392+<< /S /GoTo /D (Item.15) >>
2393+endobj
2394+84 0 obj
2395+(Tips and Techniques)
2396+endobj
2397+85 0 obj
2398+<< /S /GoTo /D (Item.40) >>
2399+endobj
2400+88 0 obj
2401+(Trouble Shooting)
2402+endobj
2403+89 0 obj
2404+<< /S /GoTo /D (Item.45) >>
2405+endobj
2406+92 0 obj
2407+(Unicode Issues)
2408+endobj
2409+93 0 obj
2410+<< /S /GoTo /D (chapter.1) >>
2411+endobj
2412+96 0 obj
2413+(Installing Leo)
2414+endobj
2415+97 0 obj
2416+<< /S /GoTo /D (section.1.1) >>
2417+endobj
2418+100 0 obj
2419+(System requirements)
2420+endobj
2421+101 0 obj
2422+<< /S /GoTo /D (section.1.2) >>
2423+endobj
2424+104 0 obj
2425+(Leo's HOME directory)
2426+endobj
2427+105 0 obj
2428+<< /S /GoTo /D (section.1.3) >>
2429+endobj
2430+108 0 obj
2431+(How to install Leo on Linux)
2432+endobj
2433+109 0 obj
2434+<< /S /GoTo /D (section.1.4) >>
2435+endobj
2436+112 0 obj
2437+(Installing Leo on MacOS X)
2438+endobj
2439+113 0 obj
2440+<< /S /GoTo /D (section.1.5) >>
2441+endobj
2442+116 0 obj
2443+(Installing Leo on Windows)
2444+endobj
2445+117 0 obj
2446+<< /S /GoTo /D (section.1.6) >>
2447+endobj
2448+120 0 obj
2449+(Tracking the development version)
2450+endobj
2451+121 0 obj
2452+<< /S /GoTo /D (section.1.7) >>
2453+endobj
2454+124 0 obj
2455+(Running Leo)
2456+endobj
2457+125 0 obj
2458+<< /S /GoTo /D (section.1.8) >>
2459+endobj
2460+128 0 obj
2461+(Running Leo from a console window)
2462+endobj
2463+129 0 obj
2464+<< /S /GoTo /D (section.1.9) >>
2465+endobj
2466+132 0 obj
2467+(Running Leo in batch mode)
2468+endobj
2469+133 0 obj
2470+<< /S /GoTo /D (section.1.10) >>
2471+endobj
2472+136 0 obj
2473+(How to install the Aspell spell checker)
2474+endobj
2475+137 0 obj
2476+<< /S /GoTo /D (chapter.2) >>
2477+endobj
2478+140 0 obj
2479+(The Leo Tutorial)
2480+endobj
2481+141 0 obj
2482+<< /S /GoTo /D (section.2.1) >>
2483+endobj
2484+144 0 obj
2485+(Leo's main window)
2486+endobj
2487+145 0 obj
2488+<< /S /GoTo /D (section.2.2) >>
2489+endobj
2490+148 0 obj
2491+(Outline commands)
2492+endobj
2493+149 0 obj
2494+<< /S /GoTo /D (section.2.3) >>
2495+endobj
2496+152 0 obj
2497+(External files and @thin nodes)
2498+endobj
2499+153 0 obj
2500+<< /S /GoTo /D (section.2.4) >>
2501+endobj
2502+156 0 obj
2503+(Creating external files from outlines)
2504+endobj
2505+157 0 obj
2506+<< /S /GoTo /D (section.2.5) >>
2507+endobj
2508+160 0 obj
2509+(Clones \046 views)
2510+endobj
2511+161 0 obj
2512+<< /S /GoTo /D (section.2.6) >>
2513+endobj
2514+164 0 obj
2515+(More about directives)
2516+endobj
2517+165 0 obj
2518+<< /S /GoTo /D (section.2.7) >>
2519+endobj
2520+168 0 obj
2521+(Scripting, extending and customizing Leo)
2522+endobj
2523+169 0 obj
2524+<< /S /GoTo /D (section.2.8) >>
2525+endobj
2526+172 0 obj
2527+(Summary)
2528+endobj
2529+173 0 obj
2530+<< /S /GoTo /D (section.2.9) >>
2531+endobj
2532+176 0 obj
2533+(Further study)
2534+endobj
2535+177 0 obj
2536+<< /S /GoTo /D (chapter.3) >>
2537+endobj
2538+180 0 obj
2539+(Using Outlines)
2540+endobj
2541+181 0 obj
2542+<< /S /GoTo /D (section.3.1) >>
2543+endobj
2544+184 0 obj
2545+(Outline Related)
2546+endobj
2547+185 0 obj
2548+<< /S /GoTo /D (section.3.2) >>
2549+endobj
2550+188 0 obj
2551+(Body Related)
2552+endobj
2553+189 0 obj
2554+<< /S /GoTo /D (section.3.3) >>
2555+endobj
2556+192 0 obj
2557+(Miscellaneous)
2558+endobj
2559+193 0 obj
2560+<< /S /GoTo /D (chapter.4) >>
2561+endobj
2562+196 0 obj
2563+(Writing Programs in Leo)
2564+endobj
2565+197 0 obj
2566+<< /S /GoTo /D (section.4.1) >>
2567+endobj
2568+200 0 obj
2569+(A Brief and Inaccurate History of Leo for Programming)
2570+endobj
2571+201 0 obj
2572+<< /S /GoTo /D (section.4.2) >>
2573+endobj
2574+204 0 obj
2575+(Creating and using external files: recommendations)
2576+endobj
2577+205 0 obj
2578+<< /S /GoTo /D (section.4.3) >>
2579+endobj
2580+208 0 obj
2581+(Overview: summary of directives)
2582+endobj
2583+209 0 obj
2584+<< /S /GoTo /D (section.4.4) >>
2585+endobj
2586+212 0 obj
2587+(Reference: all about directives)
2588+endobj
2589+213 0 obj
2590+<< /S /GoTo /D (section.4.5) >>
2591+endobj
2592+216 0 obj
2593+(CWEB mode)
2594+endobj
2595+217 0 obj
2596+<< /S /GoTo /D (chapter.5) >>
2597+endobj
2598+220 0 obj
2599+(Using Leo's Commands)
2600+endobj
2601+221 0 obj
2602+<< /S /GoTo /D (section.5.1) >>
2603+endobj
2604+224 0 obj
2605+(Autocompletion)
2606+endobj
2607+225 0 obj
2608+<< /S /GoTo /D (section.5.2) >>
2609+endobj
2610+228 0 obj
2611+(Calltips)
2612+endobj
2613+229 0 obj
2614+<< /S /GoTo /D (section.5.3) >>
2615+endobj
2616+232 0 obj
2617+(The minibuffer)
2618+endobj
2619+233 0 obj
2620+<< /S /GoTo /D (section.5.4) >>
2621+endobj
2622+236 0 obj
2623+(The File Menu)
2624+endobj
2625+237 0 obj
2626+<< /S /GoTo /D (section.5.5) >>
2627+endobj
2628+240 0 obj
2629+(The Edit Menu)
2630+endobj
2631+241 0 obj
2632+<< /S /GoTo /D (section.5.6) >>
2633+endobj
2634+244 0 obj
2635+(The Outline Menu)
2636+endobj
2637+245 0 obj
2638+<< /S /GoTo /D (section.5.7) >>
2639+endobj
2640+248 0 obj
2641+(The Window Menu)
2642+endobj
2643+249 0 obj
2644+<< /S /GoTo /D (section.5.8) >>
2645+endobj
2646+252 0 obj
2647+(The Help Menu)
2648+endobj
2649+253 0 obj
2650+<< /S /GoTo /D (chapter.6) >>
2651+endobj
2652+256 0 obj
2653+(Leo and Literate Programming)
2654+endobj
2655+257 0 obj
2656+<< /S /GoTo /D (section.6.1) >>
2657+endobj
2658+260 0 obj
2659+(Why I like Literate Programming)
2660+endobj
2661+261 0 obj
2662+<< /S /GoTo /D (section.6.2) >>
2663+endobj
2664+264 0 obj
2665+(How Leo Improves Literate Programming)
2666+endobj
2667+265 0 obj
2668+<< /S /GoTo /D (section.6.3) >>
2669+endobj
2670+268 0 obj
2671+(How Leo Changes the Notion of Literate Programming)
2672+endobj
2673+269 0 obj
2674+<< /S /GoTo /D (chapter.7) >>
2675+endobj
2676+272 0 obj
2677+(Scripting Leo with Python)
2678+endobj
2679+273 0 obj
2680+<< /S /GoTo /D (section.7.1) >>
2681+endobj
2682+276 0 obj
2683+(Leo's most import objects)
2684+endobj
2685+277 0 obj
2686+<< /S /GoTo /D (section.7.2) >>
2687+endobj
2688+280 0 obj
2689+(Predefined objects)
2690+endobj
2691+281 0 obj
2692+<< /S /GoTo /D (section.7.3) >>
2693+endobj
2694+284 0 obj
2695+(g.es writes to the log pane)
2696+endobj
2697+285 0 obj
2698+<< /S /GoTo /D (section.7.4) >>
2699+endobj
2700+288 0 obj
2701+(app.windowList: the list of all open frames)
2702+endobj
2703+289 0 obj
2704+<< /S /GoTo /D (section.7.5) >>
2705+endobj
2706+292 0 obj
2707+(Getting and setting headline and body text)
2708+endobj
2709+293 0 obj
2710+<< /S /GoTo /D (section.7.6) >>
2711+endobj
2712+296 0 obj
2713+(Getting and setting body text directly)
2714+endobj
2715+297 0 obj
2716+<< /S /GoTo /D (section.7.7) >>
2717+endobj
2718+300 0 obj
2719+(Ensuring that positions are valid)
2720+endobj
2721+301 0 obj
2722+<< /S /GoTo /D (section.7.8) >>
2723+endobj
2724+304 0 obj
2725+(About copying positions)
2726+endobj
2727+305 0 obj
2728+<< /S /GoTo /D (section.7.9) >>
2729+endobj
2730+308 0 obj
2731+(Traversing outlines)
2732+endobj
2733+309 0 obj
2734+<< /S /GoTo /D (section.7.10) >>
2735+endobj
2736+312 0 obj
2737+(Updating the screen)
2738+endobj
2739+313 0 obj
2740+<< /S /GoTo /D (section.7.11) >>
2741+endobj
2742+316 0 obj
2743+(Invoking commands from scripts)
2744+endobj
2745+317 0 obj
2746+<< /S /GoTo /D (section.7.12) >>
2747+endobj
2748+320 0 obj
2749+(Getting settings from @settings trees)
2750+endobj
2751+321 0 obj
2752+<< /S /GoTo /D (section.7.13) >>
2753+endobj
2754+324 0 obj
2755+(Getting and setting preferences)
2756+endobj
2757+325 0 obj
2758+<< /S /GoTo /D (section.7.14) >>
2759+endobj
2760+328 0 obj
2761+(Functions for finding and changing text from scripts)
2762+endobj
2763+329 0 obj
2764+<< /S /GoTo /D (section.7.15) >>
2765+endobj
2766+332 0 obj
2767+(Functions defined in leoGlobals.py)
2768+endobj
2769+333 0 obj
2770+<< /S /GoTo /D (section.7.16) >>
2771+endobj
2772+336 0 obj
2773+(Event handlers)
2774+endobj
2775+337 0 obj
2776+<< /S /GoTo /D (section.7.17) >>
2777+endobj
2778+340 0 obj
2779+(How to make operations undoable)
2780+endobj
2781+341 0 obj
2782+<< /S /GoTo /D (section.7.18) >>
2783+endobj
2784+344 0 obj
2785+(Redirecting output from scripts)
2786+endobj
2787+345 0 obj
2788+<< /S /GoTo /D (section.7.19) >>
2789+endobj
2790+348 0 obj
2791+(Writing to different log tabs)
2792+endobj
2793+349 0 obj
2794+<< /S /GoTo /D (section.7.20) >>
2795+endobj
2796+352 0 obj
2797+(Invoking dialogs using the g.app.gui class)
2798+endobj
2799+353 0 obj
2800+<< /S /GoTo /D (section.7.21) >>
2801+endobj
2802+356 0 obj
2803+(Inserting and deleting icons)
2804+endobj
2805+357 0 obj
2806+<< /S /GoTo /D (section.7.22) >>
2807+endobj
2808+360 0 obj
2809+(Customizing panes with different widgets)
2810+endobj
2811+361 0 obj
2812+<< /S /GoTo /D (section.7.23) >>
2813+endobj
2814+364 0 obj
2815+(Working with directives and paths)
2816+endobj
2817+365 0 obj
2818+<< /S /GoTo /D (section.7.24) >>
2819+endobj
2820+368 0 obj
2821+(Summary of the vnode and position classes)
2822+endobj
2823+369 0 obj
2824+<< /S /GoTo /D (section.7.25) >>
2825+endobj
2826+372 0 obj
2827+(Creating script buttons)
2828+endobj
2829+373 0 obj
2830+<< /S /GoTo /D (section.7.26) >>
2831+endobj
2832+376 0 obj
2833+(Running Leo in batch mode)
2834+endobj
2835+377 0 obj
2836+<< /S /GoTo /D (section.7.27) >>
2837+endobj
2838+380 0 obj
2839+(Getting interactive input from scripts)
2840+endobj
2841+381 0 obj
2842+<< /S /GoTo /D (section.7.28) >>
2843+endobj
2844+384 0 obj
2845+(Creating Leo commands with the @g.command decorator)
2846+endobj
2847+385 0 obj
2848+<< /S /GoTo /D (section.7.29) >>
2849+endobj
2850+388 0 obj
2851+(Modifying plugins with @script scripts)
2852+endobj
2853+389 0 obj
2854+<< /S /GoTo /D (chapter.8) >>
2855+endobj
2856+392 0 obj
2857+(Customizing Leo)
2858+endobj
2859+393 0 obj
2860+<< /S /GoTo /D (section.8.1) >>
2861+endobj
2862+396 0 obj
2863+(Specifying settings)
2864+endobj
2865+397 0 obj
2866+<< /S /GoTo /D (section.8.2) >>
2867+endobj
2868+400 0 obj
2869+(Input modes)
2870+endobj
2871+401 0 obj
2872+<< /S /GoTo /D (section.8.3) >>
2873+endobj
2874+404 0 obj
2875+(Adding extensible attributes to nodes and .leo files)
2876+endobj
2877+405 0 obj
2878+<< /S /GoTo /D (section.8.4) >>
2879+endobj
2880+408 0 obj
2881+(Specifying Tk options using .leo\137xresources)
2882+endobj
2883+409 0 obj
2884+<< /S /GoTo /D (section.8.5) >>
2885+endobj
2886+412 0 obj
2887+(Translating Leo's menus and messages)
2888+endobj
2889+413 0 obj
2890+<< /S /GoTo /D (section.8.6) >>
2891+endobj
2892+416 0 obj
2893+(Writing new importers)
2894+endobj
2895+417 0 obj
2896+<< /S /GoTo /D (chapter.9) >>
2897+endobj
2898+420 0 obj
2899+(History of Leo)
2900+endobj
2901+421 0 obj
2902+<< /S /GoTo /D (section.9.1) >>
2903+endobj
2904+424 0 obj
2905+(Beginnings)
2906+endobj
2907+425 0 obj
2908+<< /S /GoTo /D (section.9.2) >>
2909+endobj
2910+428 0 obj
2911+(Breakthrough)
2912+endobj
2913+429 0 obj
2914+<< /S /GoTo /D (section.9.3) >>
2915+endobj
2916+432 0 obj
2917+(Apple and YellowBox)
2918+endobj
2919+433 0 obj
2920+<< /S /GoTo /D (section.9.4) >>
2921+endobj
2922+436 0 obj
2923+(Borland C++)
2924+endobj
2925+437 0 obj
2926+<< /S /GoTo /D (section.9.5) >>
2927+endobj
2928+440 0 obj
2929+(Discovering Python)
2930+endobj
2931+441 0 obj
2932+<< /S /GoTo /D (section.9.6) >>
2933+endobj
2934+444 0 obj
2935+(SourceForge)
2936+endobj
2937+445 0 obj
2938+<< /S /GoTo /D (section.9.7) >>
2939+endobj
2940+448 0 obj
2941+(Allowing sentinel lines in external files)
2942+endobj
2943+449 0 obj
2944+<< /S /GoTo /D (section.9.8) >>
2945+endobj
2946+452 0 obj
2947+(Untangling @file is easy!)
2948+endobj
2949+453 0 obj
2950+<< /S /GoTo /D (section.9.9) >>
2951+endobj
2952+456 0 obj
2953+(Leo 3.x: Continuous improvement)
2954+endobj
2955+457 0 obj
2956+<< /S /GoTo /D (section.9.10) >>
2957+endobj
2958+460 0 obj
2959+(Leo 4.0: Eliminating error `recovery')
2960+endobj
2961+461 0 obj
2962+<< /S /GoTo /D (section.9.11) >>
2963+endobj
2964+464 0 obj
2965+(Leo 4.1: The debut of gnx's)
2966+endobj
2967+465 0 obj
2968+<< /S /GoTo /D (section.9.12) >>
2969+endobj
2970+468 0 obj
2971+(Leo 4.2: Complete at last)
2972+endobj
2973+469 0 obj
2974+<< /S /GoTo /D (section.9.13) >>
2975+endobj
2976+472 0 obj
2977+(Leo 4.3 Settings)
2978+endobj
2979+473 0 obj
2980+<< /S /GoTo /D (section.9.14) >>
2981+endobj
2982+476 0 obj
2983+(Leo 4.4 The minibuffer and key bindings)
2984+endobj
2985+477 0 obj
2986+<< /S /GoTo /D (section.9.15) >>
2987+endobj
2988+480 0 obj
2989+(Leo 4.4.4 Improvements)
2990+endobj
2991+481 0 obj
2992+<< /S /GoTo /D (chapter.10) >>
2993+endobj
2994+484 0 obj
2995+(Theory of Operation)
2996+endobj
2997+485 0 obj
2998+<< /S /GoTo /D (section.10.1) >>
2999+endobj
3000+488 0 obj
3001+(Overview)
3002+endobj
3003+489 0 obj
3004+<< /S /GoTo /D (section.10.2) >>
3005+endobj
3006+492 0 obj
3007+(Nodes)
3008+endobj
3009+493 0 obj
3010+<< /S /GoTo /D (section.10.3) >>
3011+endobj
3012+496 0 obj
3013+(Drawing and events)
3014+endobj
3015+497 0 obj
3016+<< /S /GoTo /D (section.10.4) >>
3017+endobj
3018+500 0 obj
3019+(Clones)
3020+endobj
3021+501 0 obj
3022+<< /S /GoTo /D (section.10.5) >>
3023+endobj
3024+504 0 obj
3025+(Find and change commands)
3026+endobj
3027+505 0 obj
3028+<< /S /GoTo /D (section.10.6) >>
3029+endobj
3030+508 0 obj
3031+(Tangle and untangle commands)
3032+endobj
3033+509 0 obj
3034+<< /S /GoTo /D (section.10.7) >>
3035+endobj
3036+512 0 obj
3037+(Unicode)
3038+endobj
3039+513 0 obj
3040+<< /S /GoTo /D (section.10.8) >>
3041+endobj
3042+516 0 obj
3043+(Unlimited undo)
3044+endobj
3045+517 0 obj
3046+<< /S /GoTo /D (section.10.9) >>
3047+endobj
3048+520 0 obj
3049+(Key bindings)
3050+endobj
3051+521 0 obj
3052+<< /S /GoTo /D (chapter.11) >>
3053+endobj
3054+524 0 obj
3055+(White Papers)
3056+endobj
3057+525 0 obj
3058+<< /S /GoTo /D (section.11.1) >>
3059+endobj
3060+528 0 obj
3061+(Why I like Python)
3062+endobj
3063+529 0 obj
3064+<< /S /GoTo /D (chapter.12) >>
3065+endobj
3066+532 0 obj
3067+(Plugins)
3068+endobj
3069+533 0 obj
3070+<< /S /GoTo /D (section.12.1) >>
3071+endobj
3072+536 0 obj
3073+(Enabling plugins)
3074+endobj
3075+537 0 obj
3076+<< /S /GoTo /D (section.12.2) >>
3077+endobj
3078+540 0 obj
3079+(Body pane)
3080+endobj
3081+541 0 obj
3082+<< /S /GoTo /D (section.12.3) >>
3083+endobj
3084+544 0 obj
3085+(Commands \046 directives)
3086+endobj
3087+545 0 obj
3088+<< /S /GoTo /D (section.12.4) >>
3089+endobj
3090+548 0 obj
3091+(Dialogs)
3092+endobj
3093+549 0 obj
3094+<< /S /GoTo /D (section.12.5) >>
3095+endobj
3096+552 0 obj
3097+(Debugging \046 testing)
3098+endobj
3099+553 0 obj
3100+<< /S /GoTo /D (section.12.6) >>
3101+endobj
3102+556 0 obj
3103+(External editors \046 Open With)
3104+endobj
3105+557 0 obj
3106+<< /S /GoTo /D (section.12.7) >>
3107+endobj
3108+560 0 obj
3109+(Files)
3110+endobj
3111+561 0 obj
3112+<< /S /GoTo /D (section.12.8) >>
3113+endobj
3114+564 0 obj
3115+(Guis)
3116+endobj
3117+565 0 obj
3118+<< /S /GoTo /D (section.12.9) >>
3119+endobj
3120+568 0 obj
3121+(Icon and status areas)
3122+endobj
3123+569 0 obj
3124+<< /S /GoTo /D (section.12.10) >>
3125+endobj
3126+572 0 obj
3127+(LeoN)
3128+endobj
3129+573 0 obj
3130+<< /S /GoTo /D (section.12.11) >>
3131+endobj
3132+576 0 obj
3133+(Menus \046 translations)
3134+endobj
3135+577 0 obj
3136+<< /S /GoTo /D (section.12.12) >>
3137+endobj
3138+580 0 obj
3139+(Nodes)
3140+endobj
3141+581 0 obj
3142+<< /S /GoTo /D (section.12.13) >>
3143+endobj
3144+584 0 obj
3145+(Plugins manager \046 menu)
3146+endobj
3147+585 0 obj
3148+<< /S /GoTo /D (section.12.14) >>
3149+endobj
3150+588 0 obj
3151+(Scripting)
3152+endobj
3153+589 0 obj
3154+<< /S /GoTo /D (section.12.15) >>
3155+endobj
3156+592 0 obj
3157+(Servers)
3158+endobj
3159+593 0 obj
3160+<< /S /GoTo /D (section.12.16) >>
3161+endobj
3162+596 0 obj
3163+(Spell checking)
3164+endobj
3165+597 0 obj
3166+<< /S /GoTo /D (section.12.17) >>
3167+endobj
3168+600 0 obj
3169+(Text formatting)
3170+endobj
3171+601 0 obj
3172+<< /S /GoTo /D (section.12.18) >>
3173+endobj
3174+604 0 obj
3175+(Windows)
3176+endobj
3177+605 0 obj
3178+<< /S /GoTo /D (chapter.13) >>
3179+endobj
3180+608 0 obj
3181+(Writing Plugins)
3182+endobj
3183+609 0 obj
3184+<< /S /GoTo /D (section.13.1) >>
3185+endobj
3186+612 0 obj
3187+(Overview)
3188+endobj
3189+613 0 obj
3190+<< /S /GoTo /D (section.13.2) >>
3191+endobj
3192+616 0 obj
3193+(Support for unit testing)
3194+endobj
3195+617 0 obj
3196+<< /S /GoTo /D (section.13.3) >>
3197+endobj
3198+620 0 obj
3199+(Turning script buttons into plugins)
3200+endobj
3201+621 0 obj
3202+<< /S /GoTo /D (section.13.4) >>
3203+endobj
3204+624 0 obj
3205+(Important security warnings)
3206+endobj
3207+625 0 obj
3208+<< /S /GoTo /D (chapter.14) >>
3209+endobj
3210+628 0 obj
3211+(Leo and ReStructuredText)
3212+endobj
3213+629 0 obj
3214+<< /S /GoTo /D (section.14.1) >>
3215+endobj
3216+632 0 obj
3217+(Overview)
3218+endobj
3219+633 0 obj
3220+<< /S /GoTo /D (section.14.2) >>
3221+endobj
3222+636 0 obj
3223+(Power features of @rst trees)
3224+endobj
3225+637 0 obj
3226+<< /S /GoTo /D (section.14.3) >>
3227+endobj
3228+640 0 obj
3229+(Options)
3230+endobj
3231+641 0 obj
3232+<< /S /GoTo /D (section.14.4) >>
3233+endobj
3234+644 0 obj
3235+(Headline Commands)
3236+endobj
3237+645 0 obj
3238+<< /S /GoTo /D (section.14.5) >>
3239+endobj
3240+648 0 obj
3241+(Using doc parts)
3242+endobj
3243+649 0 obj
3244+<< /S /GoTo /D (section.14.6) >>
3245+endobj
3246+652 0 obj
3247+(Setting defaults)
3248+endobj
3249+653 0 obj
3250+<< /S /GoTo /D (section.14.7) >>
3251+endobj
3252+656 0 obj
3253+(The code-block directive)
3254+endobj
3255+657 0 obj
3256+<< /S /GoTo /D (section.14.8) >>
3257+endobj
3258+660 0 obj
3259+(Required cascading style sheets)
3260+endobj
3261+661 0 obj
3262+<< /S /GoTo /D (section.14.9) >>
3263+endobj
3264+664 0 obj
3265+(Notes about rST markup)
3266+endobj
3267+665 0 obj
3268+<< /S /GoTo /D (section.14.10) >>
3269+endobj
3270+668 0 obj
3271+(Examples)
3272+endobj
3273+669 0 obj
3274+<< /S /GoTo /D (section.14.11) >>
3275+endobj
3276+672 0 obj
3277+(Theory of operation)
3278+endobj
3279+673 0 obj
3280+<< /S /GoTo /D (section.14.12) >>
3281+endobj
3282+676 0 obj
3283+(Controlling the rst3 command from scripts)
3284+endobj
3285+677 0 obj
3286+<< /S /GoTo /D (section.14.13) >>
3287+endobj
3288+680 0 obj
3289+(Acknowledgements)
3290+endobj
3291+681 0 obj
3292+<< /S /GoTo /D (chapter.15) >>
3293+endobj
3294+684 0 obj
3295+(Controlling Syntax Coloring)
3296+endobj
3297+685 0 obj
3298+<< /S /GoTo /D (section.15.1) >>
3299+endobj
3300+688 0 obj
3301+(Files)
3302+endobj
3303+689 0 obj
3304+<< /S /GoTo /D (section.15.2) >>
3305+endobj
3306+692 0 obj
3307+(The colorizer's inner loop)
3308+endobj
3309+693 0 obj
3310+<< /S /GoTo /D (section.15.3) >>
3311+endobj
3312+696 0 obj
3313+(Format of colorizer control files)
3314+endobj
3315+697 0 obj
3316+<< /S /GoTo /D (section.15.4) >>
3317+endobj
3318+700 0 obj
3319+(Rule methods)
3320+endobj
3321+701 0 obj
3322+<< /S /GoTo /D (section.15.5) >>
3323+endobj
3324+704 0 obj
3325+(Syntax coloring settings)
3326+endobj
3327+705 0 obj
3328+<< /S /GoTo /D (section.15.6) >>
3329+endobj
3330+708 0 obj
3331+(The threading\137colorizer plugin)
3332+endobj
3333+709 0 obj
3334+<< /S /GoTo /D (chapter.16) >>
3335+endobj
3336+712 0 obj
3337+(Debugging with Leo)
3338+endobj
3339+713 0 obj
3340+<< /S /GoTo /D (section.16.1) >>
3341+endobj
3342+716 0 obj
3343+(Using g.trace and g.pdb)
3344+endobj
3345+717 0 obj
3346+<< /S /GoTo /D (section.16.2) >>
3347+endobj
3348+720 0 obj
3349+(Settings for winpdb)
3350+endobj
3351+721 0 obj
3352+<< /S /GoTo /D (section.16.3) >>
3353+endobj
3354+724 0 obj
3355+(Debugging scripts with winpdb)
3356+endobj
3357+725 0 obj
3358+<< /S /GoTo /D (chapter.17) >>
3359+endobj
3360+728 0 obj
3361+(Using ZODB with Leo)
3362+endobj
3363+729 0 obj
3364+<< /S /GoTo /D (section.17.1) >>
3365+endobj
3366+732 0 obj
3367+(Configuring Leo to use zodb)
3368+endobj
3369+733 0 obj
3370+<< /S /GoTo /D (section.17.2) >>
3371+endobj
3372+736 0 obj
3373+(Initing zodb)
3374+endobj
3375+737 0 obj
3376+<< /S /GoTo /D (section.17.3) >>
3377+endobj
3378+740 0 obj
3379+(Writing data to zodb)
3380+endobj
3381+741 0 obj
3382+<< /S /GoTo /D (section.17.4) >>
3383+endobj
3384+744 0 obj
3385+(Defining zodb keys)
3386+endobj
3387+745 0 obj
3388+<< /S /GoTo /D (section.17.5) >>
3389+endobj
3390+748 0 obj
3391+(Reading data from zodb)
3392+endobj
3393+749 0 obj
3394+<< /S /GoTo /D (section.17.6) >>
3395+endobj
3396+752 0 obj
3397+(About connections)
3398+endobj
3399+753 0 obj
3400+<< /S /GoTo /D (section.17.7) >>
3401+endobj
3402+756 0 obj
3403+(Convenience routines)
3404+endobj
3405+757 0 obj
3406+<< /S /GoTo /D (chapter.18) >>
3407+endobj
3408+760 0 obj
3409+(Leo and Emacs)
3410+endobj
3411+761 0 obj
3412+<< /S /GoTo /D (section.18.1) >>
3413+endobj
3414+764 0 obj
3415+(Controlling Leo from Emacs using Pymacs)
3416+endobj
3417+765 0 obj
3418+<< /S /GoTo /D (section.18.2) >>
3419+endobj
3420+768 0 obj
3421+(Functions in leoPymacs.py)
3422+endobj
3423+769 0 obj
3424+<< /S /GoTo /D (section.18.3) >>
3425+endobj
3426+772 0 obj
3427+(The minibuffer)
3428+endobj
3429+773 0 obj
3430+<< /S /GoTo /D (chapter.19) >>
3431+endobj
3432+776 0 obj
3433+(Embedding Leo with the leoBridge module)
3434+endobj
3435+777 0 obj
3436+<< /S /GoTo /D (section.19.1) >>
3437+endobj
3438+780 0 obj
3439+(The basics)
3440+endobj
3441+781 0 obj
3442+<< /S /GoTo /D (section.19.2) >>
3443+endobj
3444+784 0 obj
3445+(Running leoBridge from within Leo)
3446+endobj
3447+785 0 obj
3448+<< /S /GoTo /D (chapter.20) >>
3449+endobj
3450+788 0 obj
3451+(Unit testing with Leo)
3452+endobj
3453+789 0 obj
3454+<< /S /GoTo /D (section.20.1) >>
3455+endobj
3456+792 0 obj
3457+(Overview)
3458+endobj
3459+793 0 obj
3460+<< /S /GoTo /D (section.20.2) >>
3461+endobj
3462+796 0 obj
3463+(Using @test nodes)
3464+endobj
3465+797 0 obj
3466+<< /S /GoTo /D (section.20.3) >>
3467+endobj
3468+800 0 obj
3469+(Using @suite nodes)
3470+endobj
3471+801 0 obj
3472+<< /S /GoTo /D (section.20.4) >>
3473+endobj
3474+804 0 obj
3475+(How the unit test commands work)
3476+endobj
3477+805 0 obj
3478+<< /S /GoTo /D (section.20.5) >>
3479+endobj
3480+808 0 obj
3481+(@button timer)
3482+endobj
3483+809 0 obj
3484+<< /S /GoTo /D (section.20.6) >>
3485+endobj
3486+812 0 obj
3487+(@button profile)
3488+endobj
3489+813 0 obj
3490+<< /S /GoTo /D (chapter.21) >>
3491+endobj
3492+816 0 obj
3493+(IPython and Leo)
3494+endobj
3495+817 0 obj
3496+<< /S /GoTo /D (section.21.1) >>
3497+endobj
3498+820 0 obj
3499+(Introduction)
3500+endobj
3501+821 0 obj
3502+<< /S /GoTo /D (section.21.2) >>
3503+endobj
3504+824 0 obj
3505+(Installation and startup)
3506+endobj
3507+825 0 obj
3508+<< /S /GoTo /D (section.21.3) >>
3509+endobj
3510+828 0 obj
3511+(Accessing IPython from Leo)
3512+endobj
3513+829 0 obj
3514+<< /S /GoTo /D (section.21.4) >>
3515+endobj
3516+832 0 obj
3517+(Accessing Leo nodes from IPython)
3518+endobj
3519+833 0 obj
3520+<< /S /GoTo /D (section.21.5) >>
3521+endobj
3522+836 0 obj
3523+(@cl definitions)
3524+endobj
3525+837 0 obj
3526+<< /S /GoTo /D (section.21.6) >>
3527+endobj
3528+840 0 obj
3529+(Special node types)
3530+endobj
3531+841 0 obj
3532+<< /S /GoTo /D (section.21.7) >>
3533+endobj
3534+844 0 obj
3535+(Launching ILeo from IPython)
3536+endobj
3537+845 0 obj
3538+<< /S /GoTo /D (section.21.8) >>
3539+endobj
3540+848 0 obj
3541+(Declaring custom push-to-ipython handlers)
3542+endobj
3543+849 0 obj
3544+<< /S /GoTo /D (section.21.9) >>
3545+endobj
3546+852 0 obj
3547+(Example code snippets)
3548+endobj
3549+853 0 obj
3550+<< /S /GoTo /D (section.21.10) >>
3551+endobj
3552+856 0 obj
3553+(Example use case: pylab)
3554+endobj
3555+857 0 obj
3556+<< /S /GoTo /D (section.21.11) >>
3557+endobj
3558+860 0 obj
3559+(Magic functions)
3560+endobj
3561+861 0 obj
3562+<< /S /GoTo /D (section.21.12) >>
3563+endobj
3564+864 0 obj
3565+(Acknowledgements and history)
3566+endobj
3567+865 0 obj
3568+<< /S /GoTo /D (chapter.22) >>
3569+endobj
3570+868 0 obj
3571+(Using Vim Bindings with Leo)
3572+endobj
3573+869 0 obj
3574+<< /S /GoTo /D (section.22.1) >>
3575+endobj
3576+872 0 obj
3577+(Vim bindings)
3578+endobj
3579+873 0 obj
3580+<< /S /GoTo /D (section.22.2) >>
3581+endobj
3582+876 0 obj
3583+(Avoiding changes to `tag' files)
3584+endobj
3585+877 0 obj
3586+<< /S /GoTo /D (chapter.23) >>
3587+endobj
3588+880 0 obj
3589+(Eliminating sentinel lines with @shadow)
3590+endobj
3591+881 0 obj
3592+<< /S /GoTo /D (section.23.1) >>
3593+endobj
3594+884 0 obj
3595+(Overview)
3596+endobj
3597+885 0 obj
3598+<< /S /GoTo /D (section.23.2) >>
3599+endobj
3600+888 0 obj
3601+(Creating @shadow trees)
3602+endobj
3603+889 0 obj
3604+<< /S /GoTo /D (section.23.3) >>
3605+endobj
3606+892 0 obj
3607+(What the update algorithm does)
3608+endobj
3609+893 0 obj
3610+<< /S /GoTo /D (section.23.4) >>
3611+endobj
3612+896 0 obj
3613+(Aha: boundary cases don't matter)
3614+endobj
3615+897 0 obj
3616+<< /S /GoTo /D (chapter.24) >>
3617+endobj
3618+900 0 obj
3619+(Appendices)
3620+endobj
3621+901 0 obj
3622+<< /S /GoTo /D (section.24.1) >>
3623+endobj
3624+904 0 obj
3625+(Bugs)
3626+endobj
3627+905 0 obj
3628+<< /S /GoTo /D (section.24.2) >>
3629+endobj
3630+908 0 obj
3631+(Errors while tangling)
3632+endobj
3633+909 0 obj
3634+<< /S /GoTo /D (section.24.3) >>
3635+endobj
3636+912 0 obj
3637+(Errors while untangling)
3638+endobj
3639+913 0 obj
3640+<< /S /GoTo /D (section.24.4) >>
3641+endobj
3642+916 0 obj
3643+(Errors while reading @file nodes)
3644+endobj
3645+917 0 obj
3646+<< /S /GoTo /D (section.24.5) >>
3647+endobj
3648+920 0 obj
3649+(Errors while writing @file nodes)
3650+endobj
3651+921 0 obj
3652+<< /S /GoTo /D (section.24.6) >>
3653+endobj
3654+924 0 obj
3655+(Format of .leo files)
3656+endobj
3657+925 0 obj
3658+<< /S /GoTo /D (section.24.7) >>
3659+endobj
3660+928 0 obj
3661+(Format of external files)
3662+endobj
3663+929 0 obj
3664+<< /S /GoTo /D (section.24.8) >>
3665+endobj
3666+932 0 obj
3667+(Unicode reference)
3668+endobj
3669+933 0 obj
3670+<< /S /GoTo /D (chapter.25) >>
3671+endobj
3672+936 0 obj
3673+(What's New in Leo 4.7)
3674+endobj
3675+937 0 obj
3676+<< /S /GoTo /D (section.25.1) >>
3677+endobj
3678+940 0 obj
3679+(Leo supports Python 3.x)
3680+endobj
3681+941 0 obj
3682+<< /S /GoTo /D (section.25.2) >>
3683+endobj
3684+944 0 obj
3685+(Improved file handling)
3686+endobj
3687+945 0 obj
3688+<< /S /GoTo /D (section.25.3) >>
3689+endobj
3690+948 0 obj
3691+(New command-line options)
3692+endobj
3693+949 0 obj
3694+<< /S /GoTo /D (section.25.4) >>
3695+endobj
3696+952 0 obj
3697+(New commands)
3698+endobj
3699+953 0 obj
3700+<< /S /GoTo /D (section.25.5) >>
3701+endobj
3702+956 0 obj
3703+(New settings)
3704+endobj
3705+957 0 obj
3706+<< /S /GoTo /D (section.25.6) >>
3707+endobj
3708+960 0 obj
3709+(Improved plugins)
3710+endobj
3711+961 0 obj
3712+<< /S /GoTo /D (chapter.26) >>
3713+endobj
3714+964 0 obj
3715+(What's New in Leo 4.6)
3716+endobj
3717+965 0 obj
3718+<< /S /GoTo /D (section.26.1) >>
3719+endobj
3720+968 0 obj
3721+(Improved unit testing)
3722+endobj
3723+969 0 obj
3724+<< /S /GoTo /D (section.26.2) >>
3725+endobj
3726+972 0 obj
3727+(Improved file handling)
3728+endobj
3729+973 0 obj
3730+<< /S /GoTo /D (section.26.3) >>
3731+endobj
3732+976 0 obj
3733+(Improved handling of rST files)
3734+endobj
3735+977 0 obj
3736+<< /S /GoTo /D (section.26.4) >>
3737+endobj
3738+980 0 obj
3739+(New code features)
3740+endobj
3741+981 0 obj
3742+<< /S /GoTo /D (section.26.5) >>
3743+endobj
3744+984 0 obj
3745+(New command-line options)
3746+endobj
3747+985 0 obj
3748+<< /S /GoTo /D (section.26.6) >>
3749+endobj
3750+988 0 obj
3751+(New commands)
3752+endobj
3753+989 0 obj
3754+<< /S /GoTo /D (section.26.7) >>
3755+endobj
3756+992 0 obj
3757+(New and improved directives)
3758+endobj
3759+993 0 obj
3760+<< /S /GoTo /D (section.26.8) >>
3761+endobj
3762+996 0 obj
3763+(New settings)
3764+endobj
3765+997 0 obj
3766+<< /S /GoTo /D (section.26.9) >>
3767+endobj
3768+1000 0 obj
3769+(Plugins)
3770+endobj
3771+1001 0 obj
3772+<< /S /GoTo /D (chapter.27) >>
3773+endobj
3774+1004 0 obj
3775+(What's New in Leo 4.5)
3776+endobj
3777+1005 0 obj
3778+<< /S /GoTo /D (section.27.1) >>
3779+endobj
3780+1008 0 obj
3781+(Major new features)
3782+endobj
3783+1009 0 obj
3784+<< /S /GoTo /D (section.27.2) >>
3785+endobj
3786+1012 0 obj
3787+(Major code reorganizations)
3788+endobj
3789+1013 0 obj
3790+<< /S /GoTo /D (section.27.3) >>
3791+endobj
3792+1016 0 obj
3793+(Minor new features)
3794+endobj
3795+1017 0 obj
3796+<< /S /GoTo /D (section.27.4) >>
3797+endobj
3798+1020 0 obj
3799+(New settings)
3800+endobj
3801+1021 0 obj
3802+<< /S /GoTo /D (chapter.28) >>
3803+endobj
3804+1024 0 obj
3805+(What's New in Leo 4.4.7 and Leo 4.4.8)
3806+endobj
3807+1025 0 obj
3808+<< /S /GoTo /D (section.28.1) >>
3809+endobj
3810+1028 0 obj
3811+(New features)
3812+endobj
3813+1029 0 obj
3814+<< /S /GoTo /D (section.28.2) >>
3815+endobj
3816+1032 0 obj
3817+(New and improved plugins)
3818+endobj
3819+1033 0 obj
3820+<< /S /GoTo /D (section.28.3) >>
3821+endobj
3822+1036 0 obj
3823+(New settings)
3824+endobj
3825+1037 0 obj
3826+<< /S /GoTo /D (chapter.29) >>
3827+endobj
3828+1040 0 obj
3829+(What's New in Leo 4.4.6)
3830+endobj
3831+1041 0 obj
3832+<< /S /GoTo /D (section.29.1) >>
3833+endobj
3834+1044 0 obj
3835+(New commands)
3836+endobj
3837+1045 0 obj
3838+<< /S /GoTo /D (section.29.2) >>
3839+endobj
3840+1048 0 obj
3841+(New features)
3842+endobj
3843+1049 0 obj
3844+<< /S /GoTo /D (section.29.3) >>
3845+endobj
3846+1052 0 obj
3847+(New settings)
3848+endobj
3849+1053 0 obj
3850+<< /S /GoTo /D (chapter.30) >>
3851+endobj
3852+1056 0 obj
3853+(What's New in Leo 4.4.5)
3854+endobj
3855+1057 0 obj
3856+<< /S /GoTo /D (section.30.1) >>
3857+endobj
3858+1060 0 obj
3859+(Bug fixed)
3860+endobj
3861+1061 0 obj
3862+<< /S /GoTo /D (section.30.2) >>
3863+endobj
3864+1064 0 obj
3865+(New features)
3866+endobj
3867+1065 0 obj
3868+<< /S /GoTo /D (section.30.3) >>
3869+endobj
3870+1068 0 obj
3871+(New commands)
3872+endobj
3873+1069 0 obj
3874+<< /S /GoTo /D (section.30.4) >>
3875+endobj
3876+1072 0 obj
3877+(New settings)
3878+endobj
3879+1073 0 obj
3880+<< /S /GoTo /D (chapter.31) >>
3881+endobj
3882+1076 0 obj
3883+(What's New in Leo 4.4.4)
3884+endobj
3885+1077 0 obj
3886+<< /S /GoTo /D (section.31.1) >>
3887+endobj
3888+1080 0 obj
3889+(The Great Graph Aha)
3890+endobj
3891+1081 0 obj
3892+<< /S /GoTo /D (section.31.2) >>
3893+endobj
3894+1084 0 obj
3895+(Added support for @auto files)
3896+endobj
3897+1085 0 obj
3898+<< /S /GoTo /D (section.31.3) >>
3899+endobj
3900+1088 0 obj
3901+(New commands for resolving cvs conflicts)
3902+endobj
3903+1089 0 obj
3904+<< /S /GoTo /D (section.31.4) >>
3905+endobj
3906+1092 0 obj
3907+(New kinds of settings trees)
3908+endobj
3909+1093 0 obj
3910+<< /S /GoTo /D (section.31.5) >>
3911+endobj
3912+1096 0 obj
3913+(New plugins)
3914+endobj
3915+1097 0 obj
3916+<< /S /GoTo /D (section.31.6) >>
3917+endobj
3918+1100 0 obj
3919+(Leo's core is now compatible with jython)
3920+endobj
3921+1101 0 obj
3922+<< /S /GoTo /D (section.31.7) >>
3923+endobj
3924+1104 0 obj
3925+(Improved prototype for icons in headlines)
3926+endobj
3927+1105 0 obj
3928+<< /S /GoTo /D (section.31.8) >>
3929+endobj
3930+1108 0 obj
3931+(Minor improvements)
3932+endobj
3933+1109 0 obj
3934+<< /S /GoTo /D (section.31.9) >>
3935+endobj
3936+1112 0 obj
3937+(Summary of new commands)
3938+endobj
3939+1113 0 obj
3940+<< /S /GoTo /D (chapter.32) >>
3941+endobj
3942+1116 0 obj
3943+(What's New in Leo 4.4.3)
3944+endobj
3945+1117 0 obj
3946+<< /S /GoTo /D (section.32.1) >>
3947+endobj
3948+1120 0 obj
3949+(Important new features)
3950+endobj
3951+1121 0 obj
3952+<< /S /GoTo /D (section.32.2) >>
3953+endobj
3954+1124 0 obj
3955+(New commands)
3956+endobj
3957+1125 0 obj
3958+<< /S /GoTo /D (section.32.3) >>
3959+endobj
3960+1128 0 obj
3961+(New settings)
3962+endobj
3963+1129 0 obj
3964+<< /S /GoTo /D (section.32.4) >>
3965+endobj
3966+1132 0 obj
3967+(Plugins)
3968+endobj
3969+1133 0 obj
3970+<< /S /GoTo /D (section.32.5) >>
3971+endobj
3972+1136 0 obj
3973+(Minor improvements)
3974+endobj
3975+1137 0 obj
3976+<< /S /GoTo /D (chapter.33) >>
3977+endobj
3978+1140 0 obj
3979+(What's New in Leo 4.4.2)
3980+endobj
3981+1141 0 obj
3982+<< /S /GoTo /D (section.33.1) >>
3983+endobj
3984+1144 0 obj
3985+(A major code reorg)
3986+endobj
3987+1145 0 obj
3988+<< /S /GoTo /D (section.33.2) >>
3989+endobj
3990+1148 0 obj
3991+(New commands)
3992+endobj
3993+1149 0 obj
3994+<< /S /GoTo /D (section.33.3) >>
3995+endobj
3996+1152 0 obj
3997+(New features)
3998+endobj
3999+1153 0 obj
4000+<< /S /GoTo /D (section.33.4) >>
4001+endobj
4002+1156 0 obj
4003+(New and improved plugins)
4004+endobj
4005+1157 0 obj
4006+<< /S /GoTo /D (section.33.5) >>
4007+endobj
4008+1160 0 obj
4009+(Settings)
4010+endobj
4011+1161 0 obj
4012+<< /S /GoTo /D (section.33.6) >>
4013+endobj
4014+1164 0 obj
4015+(ZODB scripting)
4016+endobj
4017+1165 0 obj
4018+<< /S /GoTo /D (chapter.34) >>
4019+endobj
4020+1168 0 obj
4021+(What's New in Leo 4.4.1)
4022+endobj
4023+1169 0 obj
4024+<< /S /GoTo /D (section.34.1) >>
4025+endobj
4026+1172 0 obj
4027+(New commands)
4028+endobj
4029+1173 0 obj
4030+<< /S /GoTo /D (section.34.2) >>
4031+endobj
4032+1176 0 obj
4033+(New features)
4034+endobj
4035+1177 0 obj
4036+<< /S /GoTo /D (section.34.3) >>
4037+endobj
4038+1180 0 obj
4039+(New and improved plugins)
4040+endobj
4041+1181 0 obj
4042+<< /S /GoTo /D (section.34.4) >>
4043+endobj
4044+1184 0 obj
4045+(New settings)
4046+endobj
4047+1185 0 obj
4048+<< /S /GoTo /D (section.34.5) >>
4049+endobj
4050+1188 0 obj
4051+(Improved settings)
4052+endobj
4053+1189 0 obj
4054+<< /S /GoTo /D (section.34.6) >>
4055+endobj
4056+1192 0 obj
4057+(Minor improvements)
4058+endobj
4059+1193 0 obj
4060+<< /S /GoTo /D (chapter.35) >>
4061+endobj
4062+1196 0 obj
4063+(What's New in Leo 4.4)
4064+endobj
4065+1197 0 obj
4066+<< /S /GoTo /D (section.35.1) >>
4067+endobj
4068+1200 0 obj
4069+(New commands)
4070+endobj
4071+1201 0 obj
4072+<< /S /GoTo /D (section.35.2) >>
4073+endobj
4074+1204 0 obj
4075+(New features)
4076+endobj
4077+1205 0 obj
4078+<< /S /GoTo /D (section.35.3) >>
4079+endobj
4080+1208 0 obj
4081+(Added new convenience methods for scripts and plugins)
4082+endobj
4083+1209 0 obj
4084+<< /S /GoTo /D (section.35.4) >>
4085+endobj
4086+1212 0 obj
4087+(New and improved plugins)
4088+endobj
4089+1213 0 obj
4090+<< /S /GoTo /D (section.35.5) >>
4091+endobj
4092+1216 0 obj
4093+(New and improved settings)
4094+endobj
4095+1217 0 obj
4096+<< /S /GoTo /D (chapter.36) >>
4097+endobj
4098+1220 0 obj
4099+(Indices and tables)
4100+endobj
4101+1221 0 obj
4102+<< /S /GoTo /D [1222 0 R /Fit ] >>
4103+endobj
4104+1224 0 obj <<
4105+/Length 267
4106+/Filter /FlateDecode
4107+>>
4108+stream
4109+xÚ½�=OÄ0
4110†÷ü
4111+�­DŒ�ï¬HÒG·»*Zn q
4112'þ=.©(;CbçÕë'ÖKp‚+Ese¹ ¢�2¦
4113£¢Y|R„ÒÍçx€ïÏÍù×ë×â:£
4114~Ú{»'èDY‹=ç§OÏÎ3š¤à^Ý-ý
4115+AK
4116+z‰á¢Qç—&�qSdh
4117ÁÅŒ†œÄå�‚�¦ƒmuÓ¿Ôûf-Þ
4118
4119Ñ°w“WgÂä
4120hŠwÓ}ûÖ×"¦J¸zGdžÛa¤B+ŠæÈh­/€UW³¯Ní±6Tu…s�¥núv, ËÀŒÙ{3�BB—d)`"[@·í»Lyª˜ÏJcˆiÿ“ϪQWZu…
4121+endstream
4122+endobj
4123+1222 0 obj <<
4124+/Type /Page
4125+/Contents 1224 0 R
4126+/Resources 1223 0 R
4127+/MediaBox [0 0 595.276 841.89]
4128+/Parent 1230 0 R
4129+>> endobj
4130+1225 0 obj <<
4131+/D [1222 0 R /XYZ 72 794.796 null]
4132+>> endobj
4133+1226 0 obj <<
4134+/D [1222 0 R /XYZ 72 769.89 null]
4135+>> endobj
4136+1223 0 obj <<
4137+/Font << /F28 1227 0 R /F29 1228 0 R /F31 1229 0 R >>
4138+/ProcSet [ /PDF /Text ]
4139+>> endobj
4140+1233 0 obj <<
4141+/Length 19
4142+/Filter /FlateDecode
4143+>>
4144+stream
4145+xÚ3PHW0Ppç2ÀAc(á
4146+endstream
4147+endobj
4148+1232 0 obj <<
4149+/Type /Page
4150+/Contents 1233 0 R
4151+/Resources 1231 0 R
4152+/MediaBox [0 0 595.276 841.89]
4153+/Parent 1230 0 R
4154+>> endobj
4155+1234 0 obj <<
4156+/D [1232 0 R /XYZ 72 794.796 null]
4157+>> endobj
4158+1231 0 obj <<
4159+/ProcSet [ /PDF ]
4160+>> endobj
4161+1278 0 obj <<
4162+/Length 1468
4163+/Filter /FlateDecode
4164+>>
4165+stream
4166+xÚí›]SÛ8†ïó+|·öÌÆH²eËW;,K[:¥Ð¦;Óí…±E¢Á‘‚?J鯯Œd‡Ø�¥‹ÜnÁ7XQŒäñ£stΫ`Í-`½œ}ýs6Ùy�ˆ…|7$!´fç–G7ò‰à"X³Ôúhï
4167½�í¿��8Ÿf¯'²
4168¸^èË¿> ¬\ŽÖë|ÿRŽíA+r£ 
4169çÜšz¸øÖ4‚n€õØ»ÉÂöUFÓ9]R^j
4170ý�ÖÇ)&Èv�)à]ü(zü(� ±Ol¸Ñûpœòö)„n„±"÷†Šß
4171Œí™"
4172ìÙj¼a åíÎM<<Büé¥M’Û6 }iîÒ$‘
4173‰{œ;�Øô<N:}?pQ$GS÷yßé¬i3ÀÆtq©VჀMÅ*£êó®zõá$¾f|®¿8•þ¹
4174+»/E˜`?Î[5/¦³âÕ¤L¯ùœÖžësýØ"«J&xœ_wǾÁ…�Íy¯M–±º
4175µ%q¡Þñu¹|gvÁxIs}ój•±$®‰wŸ2
4176Ã'‰fÁ
41770Î+þ»ji
4178ƒØ¦\¿û4eIYû‚Î#y!
4179Më¿`
4180¶©ðh�ð
4181;˨»RvFóó*S=í÷"¿ˆŒô~2½¢ZÑüLµå¶›1.½`—GÓû_2ä�­Í/¡Y&,½¯
4182
4183öB•Ž1Ê#0†¦1*l%åi¡Ýf"–2>.iË7ÕVÊd?“ž5_eL†+q©£˜U.æy¼\nÙ7e¼ü+Pø!/ü
4184ß—Š¤ªå õÝt•Bd=‚d´
4185󠺑b½—
4186½Ô+žÒ¼(¥i´ £8¿m=7F¥‡¹.Jºì)N¡G~YÛ^?ÊNäk^‡tWr{ѶB
41876ç4í8©õ
4188Ò°V"/å
4189]™�§eƒâ|Þ¤¤—•�»‚ëöfÄ>?ýÁdÀ6ȇÈp/œØ»Ž�íw]º
4190ôz�Ôå}¸^m.­—´,[÷¹Ed
4191"ülWÕ�Ë
4192@-õz†¼Å—Þ:Ë#Î�qúÆöâ8ç-ÌRoÌU#[n¡ë‡þÒ
4193HSRô+¥„écŽ…¨2
4194.
4195¨Ëém¤7�Ž/C°r¡>�}Íwæ¬ÜYÌwŠÏ|'ù\üÑ#O¼§
4196
4197%@ö åN{B¬êL›­¥êìzT{\u"HÆiÖGäôËB††6�Ó¢urû_JšóXç/XF{™
4198+ÉèãÌù8SË^U”bɾÞ|ÏÃ
4199ã#CgŽ‡m¶êêŽ3'6Mœ]VÛ¬ÑYc‰ I–¹¨ÎšJ
4200uˆmGª!G“4ŽÑ7§œr–ˆT#<(Š-A2frCq
4201Dý µªãÈIäÔÿš´wÔ UƒôJƒný<^í)nó¦üé²bùöšMŸøãªú®åä™òîÐEV§DóÕÑá¾Öç%¶¤ýb5ïÉIƒ™¿A^žæµ‘x6ŠS
4202 “t6G�o¯¾ô$ÿÀ
4203lH`¾¶Í;oà9Œ“£Õü»\E£ÜB £„JIÉ4<Uæ×Ïb
4204ž"==^ž1^�æ¥Ò“8¹X«ÛÍÙ~z«
42054«e[ͤºòbKEn}P÷lH
4206Ĭ
4207C�è}Åù½IxL1
4208Ú˜oÌÆÈ]UÝu.–P‰à…hT‚«ÖEö¶²àùù=sL¢{™0½I�Åe¢O|–uÖß+Yc¾-”°1J8Sò  ½Ý­v‹ÕºâiÝL4¹p °û…Ô‘>Ÿm X=ƒ´~2[t�ëfN„ìJ&¿,Îî—RÂ!
4209+kP+¥t²óeÜXúÝ~6"pÜA¿o‘™ªµC­ªr¤~ÑV”.cžö³üÄ+i†Ö9°Ò×ýÙäreXÐ
4210+‘…}¡•,'?+•Ý¯k‚±®nnZZ>†.
4211+Ùά“É»ö×îkŸ–/m"…™mÌ.gý€pŠ
4212+endstream
4213+endobj
4214+1277 0 obj <<
4215+/Type /Page
4216+/Contents 1278 0 R
4217+/Resources 1276 0 R
4218+/MediaBox [0 0 595.276 841.89]
4219+/Parent 1230 0 R
4220+/Annots [ 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R ]
4221+>> endobj
4222+1235 0 obj <<
4223+/Type /Annot
4224+/Border[0 0 0]/H/I/C[1 0 0]
4225+/Rect [85.948 585.417 166.824 596.321]
4226+/Subtype /Link
4227+/A << /S /GoTo /D (chapter*.1) >>
4228+>> endobj
4229+1236 0 obj <<
4230+/Type /Annot
4231+/Border[0 0 0]/H/I/C[1 0 0]
4232+/Rect [85.948 575.519 164.303 584.365]
4233+/Subtype /Link
4234+/A << /S /GoTo /D (chapter*.1) >>
4235+>> endobj
4236+1237 0 obj <<
4237+/Type /Annot
4238+/Border[0 0 0]/H/I/C[1 0 0]
4239+/Rect [71.004 553.581 104.896 562.557]
4240+/Subtype /Link
4241+/A << /S /GoTo /D (chapter*.2) >>
4242+>> endobj
4243+1238 0 obj <<
4244+/Type /Annot
4245+/Border[0 0 0]/H/I/C[1 0 0]
4246+/Rect [71.004 529.76 224.547 540.639]
4247+/Subtype /Link
4248+/A << /S /GoTo /D (chapter*.3) >>
4249+>> endobj
4250+1239 0 obj <<
4251+/Type /Annot
4252+/Border[0 0 0]/H/I/C[1 0 0]
4253+/Rect [85.948 517.671 168.288 528.575]
4254+/Subtype /Link
4255+/A << /S /GoTo /D (section*.4) >>
4256+>> endobj
4257+1240 0 obj <<
4258+/Type /Annot
4259+/Border[0 0 0]/H/I/C[1 0 0]
4260+/Rect [85.948 505.716 269.487 516.619]
4261+/Subtype /Link
4262+/A << /S /GoTo /D (section*.4) >>
4263+>> endobj
4264+1241 0 obj <<
4265+/Type /Annot
4266+/Border[0 0 0]/H/I/C[1 0 0]
4267+/Rect [85.948 493.76 191.302 504.664]
4268+/Subtype /Link
4269+/A << /S /GoTo /D (section*.4) >>
4270+>> endobj
4271+1242 0 obj <<
4272+/Type /Annot
4273+/Border[0 0 0]/H/I/C[1 0 0]
4274+/Rect [85.948 481.805 211.496 492.709]
4275+/Subtype /Link
4276+/A << /S /GoTo /D (section*.4) >>
4277+>> endobj
4278+1243 0 obj <<
4279+/Type /Annot
4280+/Border[0 0 0]/H/I/C[1 0 0]
4281+/Rect [85.948 469.85 182.016 480.754]
4282+/Subtype /Link
4283+/A << /S /GoTo /D (section*.4) >>
4284+>> endobj
4285+1244 0 obj <<
4286+/Type /Annot
4287+/Border[0 0 0]/H/I/C[1 0 0]
4288+/Rect [85.948 459.952 182.973 468.799]
4289+/Subtype /Link
4290+/A << /S /GoTo /D (section*.4) >>
4291+>> endobj
4292+1245 0 obj <<
4293+/Type /Annot
4294+/Border[0 0 0]/H/I/C[1 0 0]
4295+/Rect [85.948 445.94 326.592 456.844]
4296+/Subtype /Link
4297+/A << /S /GoTo /D (section*.4) >>
4298+>> endobj
4299+1246 0 obj <<
4300+/Type /Annot
4301+/Border[0 0 0]/H/I/C[1 0 0]
4302+/Rect [85.948 433.984 228.233 444.888]
4303+/Subtype /Link
4304+/A << /S /GoTo /D (section*.4) >>
4305+>> endobj
4306+1247 0 obj <<
4307+/Type /Annot
4308+/Border[0 0 0]/H/I/C[1 0 0]
4309+/Rect [85.948 422.029 299.764 432.933]
4310+/Subtype /Link
4311+/A << /S /GoTo /D (section*.4) >>
4312+>> endobj
4313+1248 0 obj <<
4314+/Type /Annot
4315+/Border[0 0 0]/H/I/C[1 0 0]
4316+/Rect [85.948 410.074 276.651 420.978]
4317+/Subtype /Link
4318+/A << /S /GoTo /D (section*.4) >>
4319+>> endobj
4320+1249 0 obj <<
4321+/Type /Annot
4322+/Border[0 0 0]/H/I/C[1 0 0]
4323+/Rect [85.948 398.119 152.687 409.023]
4324+/Subtype /Link
4325+/A << /S /GoTo /D (section*.4) >>
4326+>> endobj
4327+1250 0 obj <<
4328+/Type /Annot
4329+/Border[0 0 0]/H/I/C[1 0 0]
4330+/Rect [71.004 376.625 92.682 387.215]
4331+/Subtype /Link
4332+/A << /S /GoTo /D (chapter*.5) >>
4333+>> endobj
4334+1251 0 obj <<
4335+/Type /Annot
4336+/Border[0 0 0]/H/I/C[1 0 0]
4337+/Rect [85.948 364.246 135.81 375.15]
4338+/Subtype /Link
4339+/A << /S /GoTo /D (section*.6) >>
4340+>> endobj
4341+1252 0 obj <<
4342+/Type /Annot
4343+/Border[0 0 0]/H/I/C[1 0 0]
4344+/Rect [85.948 352.291 143.561 363.195]
4345+/Subtype /Link
4346+/A << /S /GoTo /D (Item.10) >>
4347+>> endobj
4348+1253 0 obj <<
4349+/Type /Annot
4350+/Border[0 0 0]/H/I/C[1 0 0]
4351+/Rect [85.948 340.336 167.9 351.24]
4352+/Subtype /Link
4353+/A << /S /GoTo /D (Item.10) >>
4354+>> endobj
4355+1254 0 obj <<
4356+/Type /Annot
4357+/Border[0 0 0]/H/I/C[1 0 0]
4358+/Rect [85.948 328.381 279.889 339.284]
4359+/Subtype /Link
4360+/A << /S /GoTo /D (Item.10) >>
4361+>> endobj
4362+1255 0 obj <<
4363+/Type /Annot
4364+/Border[0 0 0]/H/I/C[1 0 0]
4365+/Rect [85.948 316.425 304.108 327.329]
4366+/Subtype /Link
4367+/A << /S /GoTo /D (Item.10) >>
4368+>> endobj
4369+1256 0 obj <<
4370+/Type /Annot
4371+/Border[0 0 0]/H/I/C[1 0 0]
4372+/Rect [85.948 304.47 169.852 315.374]
4373+/Subtype /Link
4374+/A << /S /GoTo /D (Item.10) >>
4375+>> endobj
4376+1257 0 obj <<
4377+/Type /Annot
4378+/Border[0 0 0]/H/I/C[1 0 0]
4379+/Rect [85.948 292.515 156.851 303.419]
4380+/Subtype /Link
4381+/A << /S /GoTo /D (Item.10) >>
4382+>> endobj
4383+1258 0 obj <<
4384+/Type /Annot
4385+/Border[0 0 0]/H/I/C[1 0 0]
4386+/Rect [85.948 280.56 169.902 291.464]
4387+/Subtype /Link
4388+/A << /S /GoTo /D (Item.15) >>
4389+>> endobj
4390+1259 0 obj <<
4391+/Type /Annot
4392+/Border[0 0 0]/H/I/C[1 0 0]
4393+/Rect [85.948 268.605 157.608 279.509]
4394+/Subtype /Link
4395+/A << /S /GoTo /D (Item.40) >>
4396+>> endobj
4397+1260 0 obj <<
4398+/Type /Annot
4399+/Border[0 0 0]/H/I/C[1 0 0]
4400+/Rect [85.948 258.707 148.532 267.553]
4401+/Subtype /Link
4402+/A << /S /GoTo /D (Item.45) >>
4403+>> endobj
4404+1261 0 obj <<
4405+/Type /Annot
4406+/Border[0 0 0]/H/I/C[1 0 0]
4407+/Rect [71.004 234.866 146.898 245.745]
4408+/Subtype /Link
4409+/A << /S /GoTo /D (chapter.1) >>
4410+>> endobj
4411+1262 0 obj <<
4412+/Type /Annot
4413+/Border[0 0 0]/H/I/C[1 0 0]
4414+/Rect [85.948 222.777 197.688 233.68]
4415+/Subtype /Link
4416+/A << /S /GoTo /D (section.1.1) >>
4417+>> endobj
4418+1263 0 obj <<
4419+/Type /Annot
4420+/Border[0 0 0]/H/I/C[1 0 0]
4421+/Rect [85.948 210.821 206.256 221.725]
4422+/Subtype /Link
4423+/A << /S /GoTo /D (section.1.2) >>
4424+>> endobj
4425+1264 0 obj <<
4426+/Type /Annot
4427+/Border[0 0 0]/H/I/C[1 0 0]
4428+/Rect [85.948 200.923 226.779 209.77]
4429+/Subtype /Link
4430+/A << /S /GoTo /D (section.1.3) >>
4431+>> endobj
4432+1265 0 obj <<
4433+/Type /Annot
4434+/Border[0 0 0]/H/I/C[1 0 0]
4435+/Rect [85.948 186.911 224.527 197.815]
4436+/Subtype /Link
4437+/A << /S /GoTo /D (section.1.4) >>
4438+>> endobj
4439+1266 0 obj <<
4440+/Type /Annot
4441+/Border[0 0 0]/H/I/C[1 0 0]
4442+/Rect [85.948 174.956 221.947 185.86]
4443+/Subtype /Link
4444+/A << /S /GoTo /D (section.1.5) >>
4445+>> endobj
4446+1267 0 obj <<
4447+/Type /Annot
4448+/Border[0 0 0]/H/I/C[1 0 0]
4449+/Rect [85.948 163.001 249.354 173.905]
4450+/Subtype /Link
4451+/A << /S /GoTo /D (section.1.6) >>
4452+>> endobj
4453+1268 0 obj <<
4454+/Type /Annot
4455+/Border[0 0 0]/H/I/C[1 0 0]
4456+/Rect [85.948 151.046 166.147 161.949]
4457+/Subtype /Link
4458+/A << /S /GoTo /D (section.1.7) >>
4459+>> endobj
4460+1269 0 obj <<
4461+/Type /Annot
4462+/Border[0 0 0]/H/I/C[1 0 0]
4463+/Rect [85.948 139.09 262.186 149.994]
4464+/Subtype /Link
4465+/A << /S /GoTo /D (section.1.8) >>
4466+>> endobj
4467+1270 0 obj <<
4468+/Type /Annot
4469+/Border[0 0 0]/H/I/C[1 0 0]
4470+/Rect [85.948 127.135 225.085 138.039]
4471+/Subtype /Link
4472+/A << /S /GoTo /D (section.1.9) >>
4473+>> endobj
4474+1271 0 obj <<
4475+/Type /Annot
4476+/Border[0 0 0]/H/I/C[1 0 0]
4477+/Rect [85.948 115.18 267.893 126.084]
4478+/Subtype /Link
4479+/A << /S /GoTo /D (section.1.10) >>
4480+>> endobj
4481+1272 0 obj <<
4482+/Type /Annot
4483+/Border[0 0 0]/H/I/C[1 0 0]
4484+/Rect [71.004 95.3 160.089 104.276]
4485+/Subtype /Link
4486+/A << /S /GoTo /D (chapter.2) >>
4487+>> endobj
4488+1273 0 obj <<
4489+/Type /Annot
4490+/Border[0 0 0]/H/I/C[1 0 0]
4491+/Rect [85.948 83.364 192.737 92.211]
4492+/Subtype /Link
4493+/A << /S /GoTo /D (section.2.1) >>
4494+>> endobj
4495+1274 0 obj <<
4496+/Type /Annot
4497+/Border[0 0 0]/H/I/C[1 0 0]
4498+/Rect [85.948 71.29 189.389 80.256]
4499+/Subtype /Link
4500+/A << /S /GoTo /D (section.2.2) >>
4501+>> endobj
4502+6 0 obj <<
4503+/D [1277 0 R /XYZ 72 600.215 null]
4504+>> endobj
4505+1276 0 obj <<
4506+/Font << /F28 1227 0 R /F31 1229 0 R /F38 1279 0 R >>
4507+/ProcSet [ /PDF /Text ]
4508+>> endobj
4509+1336 0 obj <<
4510+/Length 1879
4511+/Filter /FlateDecode
4512+>>
4513+stream
4514+xÚíœßw›6ÇßóWð´ÙçÌ
4515�$ÄžÚä$iwÚµKÓ“‡®Ä(¶V@
4516p²î¯Ÿ0’l#’懜&5/1ÇÆúè^Ýû½Wöœ™ã9Ç{žzt}�8ž„Pü…;¥¸`œ<9ÞÛ?Ýûõ(NäFØÇÎé…C°Aè„HœòCç4q>�|7O@€¼Ñá¿5-ó8
4517O|ñì/ÏóSZµOâ<i^Ôs–·‡9OÄåϧ¿ë[s>MFîx‚<ï>À(zÀ¿wFx�Œ‚hãôíÙ‰—Op#„%()
4518”4®Y>k!Ð1@£ë¹]”<k�ø¢NYnƒ¡¿ˆúØ@Ϥؤ<WCÿSûpÉèØG£+cà}‚Ÿ¯¥<²iÝDÑ·FKŠoyI¥Û;fÓ
4519&¬¤Óš5,/›3-)p€vKhÁC¡a-”Ð>LKV4~ñ—Mǘ'ÚWêElº¨jž±ÿô•7”~à
4520p�КñÅa‘eqùµûq€
4521òv[0£›("k#IñhQÖsZ¶ÖQÕ‹ÄDÂï�Pød-ÀŸ¸Œð'¾À
4522+H‹µ‰ï=ñÑ+íðÞõFƒ7�x²ü?¶—ïr3ëÙÆúØ
4523p´9ÉÈI&o¢½£šÆ5MÌ|
4524ÓÌÂü
4525+-¹ˆÀõ%½}.œÂMè O_o�`d� Ê÷ß²jJÓ4Î)_Ñ, ƒÛñ!o‹Ž
4526JÇ~V²•"ð¾
45272â³2Îd&ª›ž(7ð=à�Pð0G¯îm}šAíæ_¶Ÿ¾_2zÑ Ä_çñtº(…÷hŸ¿b"0/¥[á«ÛnÅ
4528^ª¯¸üzYó�;_(|¬8ó®3¦wr–lj¯¼©é�^TßVŒ~O1DšË³LäMâ}xnÊ!|FæÚ;êÐRò µ'}×J¥{äPV2Ú˜ÎßB„wÇ…n‡�¶
4529¥šžÐ
4530ZÒ|J%š8Mï!ñÀ é±É Yã¤Ô³Ãý–FƺÛIç¶c¼Í¤™I§XÈ
4531áH†%b™
4532”YBò1G8´“ UL²¨¹X抔6‹œ¡äëaËV¶‰Vq�pØ5+*Ó#��ÕI›²HSÅK§sð‹ž��} ^4Ë®X£»·€Á�‡Ú€H¬A„]ˆG,•Goi¾0¢Yo¨sZ†–²¤c-
4533ð0aõõQ„rFÖ,wn(é½FˆýÞ}¨‘Àµ°Kíl
4534q.áKÍàzx j÷‚‡¬Á#]x¯hZÜ€
4535�aÑûŽo“¡b™¡j}Y«¥oXMW¢ôš Þ§8ûoB¶�®b�®žÍÇh$uÄ×íCʾŒA£æöÞñõúxHv»#“ØÊf°ÎM_­;p=›^gEÉQi‰w€h`k0‚a
4536Ìã|¦ÔʇÿÁ—êÏfµé¶€|=éÑï
4537ïh‹þ4”þTwâu\±z.Gõk=7U· ˆG°ïHCíH—$BJ‚Ìx%–¼”Çüüo:­Í²L
4538
4539öu3Ka{pzj·ú¾¤ mj“9Mn
4540áÕw‚¦
4541L¹ß™«¼ìU)<©ò¸¼ãyS.½CçÔTŒÂݵÌ|kÌ”�…{¥óÐ7¬ªe‘t…‹)?©–I]?åÍÕ^“83K¦øéí/±XµHC©rÇ´îià¨ÖÏÎiœ¬ô
4542ýšsÝ‘WË&£°õd7û؈n,ÂÀ·‡Ñ3êkÝ©Ñ8
4543Âh×ú¢À%¢
4544æÕ¢Ô
4545êy,G½àkû–Zdj'ÏeãÛâ”™]ª
4546ëŠF:€SZÙËUkÍ”�ZñU[qêVB<,þ�gOjÃÇé8@£2nJ±²—mÕ·qýÖQ0ÄÝ÷â­ñÞxB£�E²Ö÷©·jZRÚÓß2TƒîH
4547Û#Zb¯ó¦üsÙX
4548ÿ¢ÉMUSTgûvµUÌ=§
4549`l�ñ[01Ÿ
4550õ
4551
4552/6/ÔÂÌL]‚ �‹ô°µ(=8úCð¢Tݽ¦�`hÕmÀ„öì¶`Žùt-ÔÖ»3–’]ß®ëFƒ_-QÉÒ7
4553
4554ñгMK-=ê
4555úŽLªöû¤”§ü<N+·�¾Í_,ØÙeƒØc‚[&‡mÜœË-&{’Š(ÚÐÃ"8t<-€a
4556p£r¨ë,^/³ó¢©
4557®
4558o‘'<>O
4559b´³at€g¯²H‹ç„Êý9kii±¸õúñ,·³nŒo/@‹Z0»O•Ý$L5tk�¨k>u|nÆÊ
4560
4561ÒÎ-ÐÒfä{7¥� ‹žÊØ,ª…„™ÛT‰f
4562&c¹4®L=ÈC?t Ý"±§½ùZ ¨hÙ“ã$´Ùž¤N³i�ZJ~€>Ã-˜�EFR8èþdTS¸®º�-=^ïŠ%3j®GÁÁVîÂAªgc"
4563W¹ò\ëƒolßÝ´§"®ç&ˆg�Û„Ô‘läãáéÞ?{@
4564zpBßAÐõqèL³½OŸ='§o¨EĹZ¾(s ®bqœ:öþl~Ô_oo}¿¥ÊØÆ'‹Oü¦õ‚
4565+endstream
4566+endobj
4567+1335 0 obj <<
4568+/Type /Page
4569+/Contents 1336 0 R
4570+/Resources 1334 0 R
4571+/MediaBox [0 0 595.276 841.89]
4572+/Parent 1230 0 R
4573+/Annots [ 1275 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R ]
4574+>> endobj
4575+1275 0 obj <<
4576+/Type /Annot
4577+/Border[0 0 0]/H/I/C[1 0 0]
4578+/Rect [85.948 758.712 236.472 767.678]
4579+/Subtype /Link
4580+/A << /S /GoTo /D (section.2.3) >>
4581+>> endobj
4582+1280 0 obj <<
4583+/Type /Annot
4584+/Border[0 0 0]/H/I/C[1 0 0]
4585+/Rect [85.948 744.819 257.582 755.723]
4586+/Subtype /Link
4587+/A << /S /GoTo /D (section.2.4) >>
4588+>> endobj
4589+1281 0 obj <<
4590+/Type /Annot
4591+/Border[0 0 0]/H/I/C[1 0 0]
4592+/Rect [85.948 734.921 177.245 743.768]
4593+/Subtype /Link
4594+/A << /S /GoTo /D (section.2.5) >>
4595+>> endobj
4596+1282 0 obj <<
4597+/Type /Annot
4598+/Border[0 0 0]/H/I/C[1 0 0]
4599+/Rect [85.948 722.966 200.876 731.812]
4600+/Subtype /Link
4601+/A << /S /GoTo /D (section.2.6) >>
4602+>> endobj
4603+1283 0 obj <<
4604+/Type /Annot
4605+/Border[0 0 0]/H/I/C[1 0 0]
4606+/Rect [85.948 708.953 280.556 719.857]
4607+/Subtype /Link
4608+/A << /S /GoTo /D (section.2.7) >>
4609+>> endobj
4610+1284 0 obj <<
4611+/Type /Annot
4612+/Border[0 0 0]/H/I/C[1 0 0]
4613+/Rect [85.948 696.998 152.587 707.902]
4614+/Subtype /Link
4615+/A << /S /GoTo /D (section.2.8) >>
4616+>> endobj
4617+1285 0 obj <<
4618+/Type /Annot
4619+/Border[0 0 0]/H/I/C[1 0 0]
4620+/Rect [85.948 685.043 167.252 695.947]
4621+/Subtype /Link
4622+/A << /S /GoTo /D (section.2.9) >>
4623+>> endobj
4624+1286 0 obj <<
4625+/Type /Annot
4626+/Border[0 0 0]/H/I/C[1 0 0]
4627+/Rect [71.004 663.26 150.774 674.139]
4628+/Subtype /Link
4629+/A << /S /GoTo /D (chapter.3) >>
4630+>> endobj
4631+1287 0 obj <<
4632+/Type /Annot
4633+/Border[0 0 0]/H/I/C[1 0 0]
4634+/Rect [85.948 653.227 176.657 662.074]
4635+/Subtype /Link
4636+/A << /S /GoTo /D (section.3.1) >>
4637+>> endobj
4638+1288 0 obj <<
4639+/Type /Annot
4640+/Border[0 0 0]/H/I/C[1 0 0]
4641+/Rect [85.948 639.215 168.358 650.119]
4642+/Subtype /Link
4643+/A << /S /GoTo /D (section.3.2) >>
4644+>> endobj
4645+1289 0 obj <<
4646+/Type /Annot
4647+/Border[0 0 0]/H/I/C[1 0 0]
4648+/Rect [85.948 629.317 171.396 638.164]
4649+/Subtype /Link
4650+/A << /S /GoTo /D (section.3.3) >>
4651+>> endobj
4652+1290 0 obj <<
4653+/Type /Annot
4654+/Border[0 0 0]/H/I/C[1 0 0]
4655+/Rect [71.004 605.476 195.406 616.355]
4656+/Subtype /Link
4657+/A << /S /GoTo /D (chapter.4) >>
4658+>> endobj
4659+1291 0 obj <<
4660+/Type /Annot
4661+/Border[0 0 0]/H/I/C[1 0 0]
4662+/Rect [85.948 593.387 337.393 604.291]
4663+/Subtype /Link
4664+/A << /S /GoTo /D (section.4.1) >>
4665+>> endobj
4666+1292 0 obj <<
4667+/Type /Annot
4668+/Border[0 0 0]/H/I/C[1 0 0]
4669+/Rect [85.948 581.432 319.33 592.336]
4670+/Subtype /Link
4671+/A << /S /GoTo /D (section.4.2) >>
4672+>> endobj
4673+1293 0 obj <<
4674+/Type /Annot
4675+/Border[0 0 0]/H/I/C[1 0 0]
4676+/Rect [85.948 569.476 247.281 580.38]
4677+/Subtype /Link
4678+/A << /S /GoTo /D (section.4.3) >>
4679+>> endobj
4680+1294 0 obj <<
4681+/Type /Annot
4682+/Border[0 0 0]/H/I/C[1 0 0]
4683+/Rect [85.948 559.579 235.495 568.425]
4684+/Subtype /Link
4685+/A << /S /GoTo /D (section.4.4) >>
4686+>> endobj
4687+1295 0 obj <<
4688+/Type /Annot
4689+/Border[0 0 0]/H/I/C[1 0 0]
4690+/Rect [85.948 547.623 167.252 556.47]
4691+/Subtype /Link
4692+/A << /S /GoTo /D (section.4.5) >>
4693+>> endobj
4694+1296 0 obj <<
4695+/Type /Annot
4696+/Border[0 0 0]/H/I/C[1 0 0]
4697+/Rect [71.004 523.783 188.861 534.662]
4698+/Subtype /Link
4699+/A << /S /GoTo /D (chapter.5) >>
4700+>> endobj
4701+1297 0 obj <<
4702+/Type /Annot
4703+/Border[0 0 0]/H/I/C[1 0 0]
4704+/Rect [85.948 511.693 178.6 522.597]
4705+/Subtype /Link
4706+/A << /S /GoTo /D (section.5.1) >>
4707+>> endobj
4708+1298 0 obj <<
4709+/Type /Annot
4710+/Border[0 0 0]/H/I/C[1 0 0]
4711+/Rect [85.948 499.738 144.846 510.642]
4712+/Subtype /Link
4713+/A << /S /GoTo /D (section.5.2) >>
4714+>> endobj
4715+1299 0 obj <<
4716+/Type /Annot
4717+/Border[0 0 0]/H/I/C[1 0 0]
4718+/Rect [85.948 489.84 173.987 498.687]
4719+/Subtype /Link
4720+/A << /S /GoTo /D (section.5.3) >>
4721+>> endobj
4722+1300 0 obj <<
4723+/Type /Annot
4724+/Border[0 0 0]/H/I/C[1 0 0]
4725+/Rect [85.948 477.885 173.06 486.732]
4726+/Subtype /Link
4727+/A << /S /GoTo /D (section.5.4) >>
4728+>> endobj
4729+1301 0 obj <<
4730+/Type /Annot
4731+/Border[0 0 0]/H/I/C[1 0 0]
4732+/Rect [85.948 465.81 174.166 474.776]
4733+/Subtype /Link
4734+/A << /S /GoTo /D (section.5.5) >>
4735+>> endobj
4736+1302 0 obj <<
4737+/Type /Annot
4738+/Border[0 0 0]/H/I/C[1 0 0]
4739+/Rect [85.948 453.975 187.446 462.821]
4740+/Subtype /Link
4741+/A << /S /GoTo /D (section.5.6) >>
4742+>> endobj
4743+1303 0 obj <<
4744+/Type /Annot
4745+/Border[0 0 0]/H/I/C[1 0 0]
4746+/Rect [85.948 442.019 191.223 450.866]
4747+/Subtype /Link
4748+/A << /S /GoTo /D (section.5.7) >>
4749+>> endobj
4750+1304 0 obj <<
4751+/Type /Annot
4752+/Border[0 0 0]/H/I/C[1 0 0]
4753+/Rect [85.948 428.007 176.926 438.911]
4754+/Subtype /Link
4755+/A << /S /GoTo /D (section.5.8) >>
4756+>> endobj
4757+1305 0 obj <<
4758+/Type /Annot
4759+/Border[0 0 0]/H/I/C[1 0 0]
4760+/Rect [71.004 406.224 221.409 417.103]
4761+/Subtype /Link
4762+/A << /S /GoTo /D (chapter.6) >>
4763+>> endobj
4764+1306 0 obj <<
4765+/Type /Annot
4766+/Border[0 0 0]/H/I/C[1 0 0]
4767+/Rect [85.948 394.134 247.062 405.038]
4768+/Subtype /Link
4769+/A << /S /GoTo /D (section.6.1) >>
4770+>> endobj
4771+1307 0 obj <<
4772+/Type /Annot
4773+/Border[0 0 0]/H/I/C[1 0 0]
4774+/Rect [85.948 382.179 281.523 393.083]
4775+/Subtype /Link
4776+/A << /S /GoTo /D (section.6.2) >>
4777+>> endobj
4778+1308 0 obj <<
4779+/Type /Annot
4780+/Border[0 0 0]/H/I/C[1 0 0]
4781+/Rect [85.948 370.224 334.125 381.128]
4782+/Subtype /Link
4783+/A << /S /GoTo /D (section.6.3) >>
4784+>> endobj
4785+1309 0 obj <<
4786+/Type /Annot
4787+/Border[0 0 0]/H/I/C[1 0 0]
4788+/Rect [71.004 348.44 200.029 359.319]
4789+/Subtype /Link
4790+/A << /S /GoTo /D (chapter.7) >>
4791+>> endobj
4792+1310 0 obj <<
4793+/Type /Annot
4794+/Border[0 0 0]/H/I/C[1 0 0]
4795+/Rect [85.948 336.351 217.623 347.255]
4796+/Subtype /Link
4797+/A << /S /GoTo /D (section.7.1) >>
4798+>> endobj
4799+1311 0 obj <<
4800+/Type /Annot
4801+/Border[0 0 0]/H/I/C[1 0 0]
4802+/Rect [85.948 324.395 187.167 335.299]
4803+/Subtype /Link
4804+/A << /S /GoTo /D (section.7.2) >>
4805+>> endobj
4806+1312 0 obj <<
4807+/Type /Annot
4808+/Border[0 0 0]/H/I/C[1 0 0]
4809+/Rect [85.948 312.44 217.882 323.344]
4810+/Subtype /Link
4811+/A << /S /GoTo /D (section.7.3) >>
4812+>> endobj
4813+1313 0 obj <<
4814+/Type /Annot
4815+/Border[0 0 0]/H/I/C[1 0 0]
4816+/Rect [85.948 300.485 285.477 311.389]
4817+/Subtype /Link
4818+/A << /S /GoTo /D (section.7.4) >>
4819+>> endobj
4820+1314 0 obj <<
4821+/Type /Annot
4822+/Border[0 0 0]/H/I/C[1 0 0]
4823+/Rect [85.948 288.53 282.489 299.434]
4824+/Subtype /Link
4825+/A << /S /GoTo /D (section.7.5) >>
4826+>> endobj
4827+1315 0 obj <<
4828+/Type /Annot
4829+/Border[0 0 0]/H/I/C[1 0 0]
4830+/Rect [85.948 276.575 262.295 287.479]
4831+/Subtype /Link
4832+/A << /S /GoTo /D (section.7.6) >>
4833+>> endobj
4834+1316 0 obj <<
4835+/Type /Annot
4836+/Border[0 0 0]/H/I/C[1 0 0]
4837+/Rect [85.948 264.62 242.549 275.524]
4838+/Subtype /Link
4839+/A << /S /GoTo /D (section.7.7) >>
4840+>> endobj
4841+1317 0 obj <<
4842+/Type /Annot
4843+/Border[0 0 0]/H/I/C[1 0 0]
4844+/Rect [85.948 252.664 211.715 263.568]
4845+/Subtype /Link
4846+/A << /S /GoTo /D (section.7.8) >>
4847+>> endobj
4848+1318 0 obj <<
4849+/Type /Annot
4850+/Border[0 0 0]/H/I/C[1 0 0]
4851+/Rect [85.948 240.709 190.345 251.613]
4852+/Subtype /Link
4853+/A << /S /GoTo /D (section.7.9) >>
4854+>> endobj
4855+1319 0 obj <<
4856+/Type /Annot
4857+/Border[0 0 0]/H/I/C[1 0 0]
4858+/Rect [85.948 228.754 193.524 239.658]
4859+/Subtype /Link
4860+/A << /S /GoTo /D (section.7.10) >>
4861+>> endobj
4862+1320 0 obj <<
4863+/Type /Annot
4864+/Border[0 0 0]/H/I/C[1 0 0]
4865+/Rect [85.948 216.799 245.239 227.703]
4866+/Subtype /Link
4867+/A << /S /GoTo /D (section.7.11) >>
4868+>> endobj
4869+1321 0 obj <<
4870+/Type /Annot
4871+/Border[0 0 0]/H/I/C[1 0 0]
4872+/Rect [85.948 204.844 261.936 215.748]
4873+/Subtype /Link
4874+/A << /S /GoTo /D (section.7.12) >>
4875+>> endobj
4876+1322 0 obj <<
4877+/Type /Annot
4878+/Border[0 0 0]/H/I/C[1 0 0]
4879+/Rect [85.948 192.889 238.066 203.793]
4880+/Subtype /Link
4881+/A << /S /GoTo /D (section.7.13) >>
4882+>> endobj
4883+1323 0 obj <<
4884+/Type /Annot
4885+/Border[0 0 0]/H/I/C[1 0 0]
4886+/Rect [85.948 180.933 321.512 191.837]
4887+/Subtype /Link
4888+/A << /S /GoTo /D (section.7.14) >>
4889+>> endobj
4890+1324 0 obj <<
4891+/Type /Annot
4892+/Border[0 0 0]/H/I/C[1 0 0]
4893+/Rect [85.948 168.978 253.219 179.882]
4894+/Subtype /Link
4895+/A << /S /GoTo /D (section.7.15) >>
4896+>> endobj
4897+1325 0 obj <<
4898+/Type /Annot
4899+/Border[0 0 0]/H/I/C[1 0 0]
4900+/Rect [85.948 158.961 173.18 167.927]
4901+/Subtype /Link
4902+/A << /S /GoTo /D (section.7.16) >>
4903+>> endobj
4904+1326 0 obj <<
4905+/Type /Annot
4906+/Border[0 0 0]/H/I/C[1 0 0]
4907+/Rect [85.948 145.068 250.181 155.972]
4908+/Subtype /Link
4909+/A << /S /GoTo /D (section.7.17) >>
4910+>> endobj
4911+1327 0 obj <<
4912+/Type /Annot
4913+/Border[0 0 0]/H/I/C[1 0 0]
4914+/Rect [85.948 133.113 238.644 144.017]
4915+/Subtype /Link
4916+/A << /S /GoTo /D (section.7.18) >>
4917+>> endobj
4918+1328 0 obj <<
4919+/Type /Annot
4920+/Border[0 0 0]/H/I/C[1 0 0]
4921+/Rect [85.948 121.158 225.383 132.062]
4922+/Subtype /Link
4923+/A << /S /GoTo /D (section.7.19) >>
4924+>> endobj
4925+1329 0 obj <<
4926+/Type /Annot
4927+/Border[0 0 0]/H/I/C[1 0 0]
4928+/Rect [85.948 109.202 280.666 120.106]
4929+/Subtype /Link
4930+/A << /S /GoTo /D (section.7.20) >>
4931+>> endobj
4932+1330 0 obj <<
4933+/Type /Annot
4934+/Border[0 0 0]/H/I/C[1 0 0]
4935+/Rect [85.948 97.247 224.248 108.151]
4936+/Subtype /Link
4937+/A << /S /GoTo /D (section.7.21) >>
4938+>> endobj
4939+1331 0 obj <<
4940+/Type /Annot
4941+/Border[0 0 0]/H/I/C[1 0 0]
4942+/Rect [85.948 85.292 280.177 96.196]
4943+/Subtype /Link
4944+/A << /S /GoTo /D (section.7.22) >>
4945+>> endobj
4946+1332 0 obj <<
4947+/Type /Annot
4948+/Border[0 0 0]/H/I/C[1 0 0]
4949+/Rect [85.948 73.337 249.892 84.241]
4950+/Subtype /Link
4951+/A << /S /GoTo /D (section.7.23) >>
4952+>> endobj
4953+1334 0 obj <<
4954+/Font << /F31 1229 0 R /F38 1279 0 R /F28 1227 0 R >>
4955+/ProcSet [ /PDF /Text ]
4956+>> endobj
4957+1393 0 obj <<
4958+/Length 1771
4959+/Filter /FlateDecode
4960+>>
4961+stream
4962+xÚíœ]w›6Çïý)ØÍjN�ˆ]uyi–n}Yãžœ�®g#¶bë
4963p›ìÓOXÛˆ¦Y+l7æ&†¢Ÿ
4964=ý%áZ˵Îznùé@—X®ãHüDÄ·RqBûòõYïhØû马Р}è[Ãk‹øNˆ�`ñ
4965¬áØzÛ
4966ˆìÁnÿb1›Eé­=€â ¹–Ÿù”ÊÂGžŒU1âcY˜'ËYÂåÑ(Ž²Œfö»á³êi­·쓾c°ëîÍ
4967+ïù½ú?†H¸þÆ×÷§#.à„W
4968°äpœÒ(g|"k5¥lžËò•
4969Ýþ"Ï®×2÷­–wé
4970ÈsÈ|‰ìõ‚óŠØï4‘¦ã*ÊGSYœAT{¨ÀC
4971%�1G)�”Îh¾Š+ÆsšF£œÙ÷?Ú÷iyb¾Pñv�&³õ(Ô¢Ž`ò�)µÃů¸�¦¯
4972+ŸQ"ògòè˧µ”ôdâ¨käñ˜Ž’4Ê“´þà~ìY7Ölh®Å‡²fŸ'cv}[Uí<^L×*ôÉzŽùLK÷>˜&ܯ!äY“[€–zk
4973@$
4974Ñæ�+n}¼ÈòdÆþÝh÷Oƒ<ßñ<(–¿�çÿÏ㬫¿Ïá²ÙXˆÄy…þ›ÓÑzkÉdw©K
4975
4976˜ÔØRJ+~s€*fç«dUH
4977�UɃfÕ¹»úÆz
4978+à/ãqp´P!79廊˱Vž§Lé~ªzî\%H¾$¾9$sâ2}þåº0Ö[DÐwD¨‘B`ŒúL×7|¯FÁóbx«êx‘Uç‹Zþû&¥Y²HGz
4979ä?ȼHŒU<V?´=ÜO#žÅ›
4980+ð‘�q_ÕûŒòE½™Ïh–E“†š‡þáÈSJœ8¾Âq™²N‹¡Ñ'5*šÍ“TŒ˜ì
4981Ü%“–�Ý©+•�*]ù+º²îâ}Q[B³ÚR5¬°Ò–GËÜ&¼IQúnx@*eKbšR›a¥6�Ä@ý}>M“ÅdZ¿'rAÇpáUJs>�ëþŸ¶è3ú4Ž“eW”Ühr1ð;f[gVêÒ£$�+XÇ�k
4982§çuAg 4°Ô·',%Eê“sZ‰«W·ù4áÚp
4983“ŽÙ®˜•"øb9¨{ZKR�þ„êÃŒ.îö‰a¥7ƒ2Ù•)mÍÍäbhCcy‹b¶9KWº/)�â»
4984ä?H^-‡QhÞð<⓸óDV³‚¡ Ð(»ýA73QK[ *RÕLœçÜül< 4HRDÑ")
49856›§kùm&‚¬þt
4986
4987Cd€+çõ*2Èq™Ó˜Í_sÑhšŠôµ,þ“Ò
4988rûHëÓÜàÐ&²¡g
4989а…eXNV�©rñ7�™ ¿Q^g�î¤BÐVÖÔ Áª—›‰±r^MÁ(ÍeZçqЩ¼-š§1ódáâ3“Õ$€�6ßxHƒ‡Ôt[ÙIŠ
4990¦&;¯
4991õ~MÓšaõÞJ©+‡ûŠñq÷=ì>[ˆ,dÖá”xÎu‘§O…¤‹¥¶pÝg]Q!
4992‹[‹XÒ¦^Îi-jß= ´±À¸Ž’G/•üüÈÔÌb}
4993+!
4994ÏUÙÖl�©E§N/š
4995y,Ã-%æˆ*Yu’FE„®L³*ïÒÕ*é†Î?ÄAÇpËðü
4996+ž’UÇqÂé¡êß�bh.•
4997+{ÊÊÀ«"p4�ø„ÖVƧ.ΖU²A>j¿ÏÐ&š‰6¡¾�æö—8y°##Èx®92j�ÏÎF
4998{¬ ßuƒ-wƒ
49990“”0
5000S;§Up�]o¢Žá~ÁS{�~+$ã}¬
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: