Mercurial > docs > master
annotate preface.roff @ 36:13bcab8d4b6f
Added hgignore file.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Tue, 15 May 2012 19:21:27 +0200 |
parents | 2fea9739507f |
children | 83b1481dda93 |
rev | line source |
---|---|
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
1 .H0 "Preface" no |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
2 |
23 | 3 .P |
4 MH is a set of mail handling tools with a common concept, like | |
5 the Unix toolchest is a set of file handling tools with a common | |
6 concept. nmh is the currently most popular implementation of an | |
7 MH-like mail handling system. | |
31 | 8 This thesis describes an experimental version of nmh, |
9 named \fImmh\fP. | |
10 The project goals for mmh are modernizing, stream-lining and exploiting | |
11 MH's concepts even more thoroughly. | |
23 | 12 |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
13 .U2 "Background to this Thesis |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
14 .P |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
15 I have discovered nmh in September 2009. At that time I used to use the |
31 | 16 mail client \fImutt\fP, like many advanced Unix users do. |
17 As I read about nmh, its concepts had convinced me at once. | |
18 Learning its different model of email handling had been relatively easy, | |
19 because my starting situation was being convinced of the concepts. | |
20 The transition from mutt to nmh was similar to | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
21 managing files in the Unix shell when being used to graphical file |
31 | 22 managers, or like editing with vi when being used to modeless editors. |
23 Such a change is not trivial, but in being convinced by the | |
24 concepts and by having done similar transitions for file management | |
25 and editing already, it was not too difficult neither. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
26 In contrast, setting up nmh to a convenient state became a tendious task |
23 | 27 that took several months. |
28 .P | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
29 Once having nmh arranged to a convenient state, I enjoyed using it |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
30 because of its conceptional elegance and its scripting capabilities. |
23 | 31 On the other hand, however, it still was |
31 | 32 inconvenient for handling attachments, non-ASCII character encodings, |
23 | 33 and similar features of modern emailing. |
31 | 34 My setup demanded more and more additional configuration and helper scripts |
35 to get nmh behave the way I wanted, although my | |
36 expectations were rather common for modern emailing. | |
37 In being a computer scientist and programmer, | |
38 I wanted to improve the situation. | |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
39 .P |
31 | 40 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the |
41 possibility to offer a Google Summer of Code project. | |
23 | 42 Participating in the development this way appeared attractive to me, |
31 | 43 as it would have been possible to have the project |
44 accepted at university. Although generally the nmh community | |
45 had been positive on the | |
46 suggestion, the administrative work had been to much, eventually. | |
47 But my proposal had activated the nmh community. | |
48 In the following weeks, goals for nmh's future were discussed. | |
49 In these discussions, I became involved in the | |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
50 question whether nmh should be an MTA. |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
51 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
52 nmh-workers thread mta mua |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
53 .] |
31 | 54 In this central point, my opinion differed from the opinion of most others. |
55 I argued for the MTA facility of nmh to be removed. | |
56 Besides the discussions, hardly any real work was done. | |
57 Being unable to work on nmh in a way that would be | |
58 accepted as part of my official studies, I needed to choose another project. | |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
59 .P |
23 | 60 Half a year later, starting in August 2010, |
61 I took one semester off to travel through Latin America. | |
31 | 62 Within this time, I had to do practical computer work for three months. |
23 | 63 This brought me back to nmh. |
64 Richard Sandelman, an active nmh user, made it possible for | |
65 me to work on nmh. Juan Granda, living in Santiago del | |
31 | 66 Estero in Argentina, provided a computer with Internet connection for |
67 my work. Thanks to them, I was able to work on nmh during my three-month | |
68 stay in Argentina. | |
69 Within this time, I became familiar with nmh's code base and | |
70 community. I learned how things work. Quickly it became obvious that | |
71 I wouldn't succeed with my main goal: improving the character | |
72 encoding handling within the project. One of its ramifications is the | |
73 missing transfer decoding of quoted text in replies. | |
23 | 74 As this is one of the most intricate parts of the system, the goal |
31 | 75 was simply set too high. Hence, I dropped the original plan. |
76 Instead, I improved the code base as I read through it. I found minor bugs | |
77 for which I proposed fixes to the community. In the same go, I | |
78 improved the documentation in minor ways. When I started with | |
79 larger code changes, I had to discover that the community was reluctant | |
80 to change. Its wish for compatibility was much stronger than its | |
81 wish for convenient out-of-the-box setups \(en in contrast to my opinion. | |
23 | 82 This lead to long discussions, again. |
31 | 83 I came to understand their point of view, but it is different to mine. |
23 | 84 At the end of my three-month project, I had become familiar with |
31 | 85 nmh's code base and community. I had improved the project in minor ways, |
86 and I still was convinced that I wanted to go on to do so. | |
23 | 87 .P |
88 Another half a year later, the end of my studies came within reach. | |
89 I needed a topic for my master's thesis. | |
90 There was no question: I wanted to work on nmh. | |
91 But well, not exactly on nmh, | |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
92 because I had accepted that the nmh community has different goals |
31 | 93 than I have. This would result in much discussion and thus little progress. |
23 | 94 After careful thought, I decided to start an experimental version of nmh. |
31 | 95 I wanted to implement my own ideas of how an MH-like system should look like. |
96 I wanted to see where that would lead to. | |
97 I wanted to create a usable alternative version to be compared with | |
98 the present state of nmh. | |
99 My work should be proved successful or failed. | |
100 The nmh project would not be hurt by my work, but | |
101 it would profit from my experiences. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
102 |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
103 .U2 "Focus of this Document |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
104 .P |
31 | 105 This document describes my work on the experimental nmh version, named |
106 \fImmh\fP. It explains the changes to nmh, with focus on their reasons. | |
107 It discusses technical, historical, social and philosophical considerations. | |
108 On the technical side, this document | |
109 explains how an existing project was stream-lined by removing rough edges | |
110 and exploiting the central concepts better. | |
111 On the historical | |
112 side, changes through time in the use cases and the email features, | |
113 as well as the reactions to them, are discussed. | |
114 Socially, this document describes the effects | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
115 and experiences of a newcomer with revolutionary aims entering an old |
31 | 116 and matured software projects. |
117 Finally, philosophical thoughts on style, mainly based to the Unix philosophy, | |
118 are present throughout the discussions. | |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
119 .P |
31 | 120 This document is written for the community around MH-like mail systems, |
121 including developers and users. | |
122 First of all, the document shall explain the design goals and | |
123 implementation decisions for mmh. But as well, it shall clarify my | |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
124 personal perception of the |
31 | 125 concepts of MH and Unix, and explain my therefrom resulting point of view. |
126 Despite the focus on MH-like systems, this document may be worthwhile | |
127 to anyone interested in the Unix philosophy and anyone in contact to | |
128 old software projects, be it code or community-related. | |
23 | 129 .P |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
130 The reader is expected to have good knowledge of Unix, C and emailing. |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
131 Good Unix shell |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
132 knowledge, including shell scripting, is required. MH relies fundamentally |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
133 on the shell. Without the power of the shell, MH becomes a motorbike |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
134 without winding roads: boring. |
31 | 135 Introductions to Unix and its shell can be found in ``The UNIX Programming |
136 Environment'' by Kernighan and Pike or ``The UNIX System'' by Bourne. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
137 The reader is |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
138 expected to be familiar with the C programming language, although the |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
139 document should be understandable without knowledge of C, too. |
31 | 140 ``The C Programming Language'' by Kernighan and Ritchie is the |
141 definitive guide to C. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
142 Some book about system-level C programming is worthwile additional |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
143 literature. Rochkind and Curry have written such books. |
31 | 144 As large parts of the code are old, old books are likely more helpful |
145 to understanding. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
146 The format of email messages as well as the structure of email transfer |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
147 systems should be familiar to the reader, at least on a basic level. |
31 | 148 It's advisable to have at least cross-read the RFCs 821 and 822. |
149 Further more, basic understanding of MIME is good to have. | |
150 The Wikipedia provides good introduction-level information to email. | |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
151 Frequent references to the Unix philosophy will be made. |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
152 Gancarz had tried to sum the philosophy up in his book |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
153 ``The UNIX Philosophy''. |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
154 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
155 gancarz unix phil |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
156 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
157 Even better but less concrete are ``The UNIX Programming Environment'' |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
158 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
159 kernighan pike unix prog env |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
160 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
161 and ``The Practice of Programming'' |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
162 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
163 kernighan pike practice of prog |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
164 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
165 by Kernighan and Pike. |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
166 The term paper ``Why the Unix Philosophy still matters'' |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
167 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
168 why unix phil still matters schnalke |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
169 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
170 by myself |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
171 provides an overview on the topic, including a case study of MH. |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
172 Although a brief introduction to MH is provided in Chapter 1, the reader |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
173 is encouraged to have a look at the \fIMH Book\fP by Jerry Peek. |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
174 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
175 peek mh |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
176 .] |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
177 It is the definitive guide to MH and nmh. |
31 | 178 The current version is available freely on the Internet. |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
179 .P |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
180 This document is neither a user's tutorial to mmh nor an introduction |
31 | 181 to any of the topics covered. It discusses Unix, email |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
182 and system design on an advanced level. |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
183 However, as knowledge of the fundamental concepts is the most valuable |
31 | 184 information a user can aquire about some program or software system, |
185 this document might be worth a read for non-developers as well. | |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
186 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
187 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
188 .U2 "Organization |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
189 .P |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
190 Which font for what use. |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
191 Meaning of `foo(1)'. |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
192 RFCs. |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
193 MH vs. nmh vs. mmh. |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
194 .P |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
195 This thesis is devided into XXX chapters, ... |
24
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
196 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
197 .I Chapter 1 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
198 introduces ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
199 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
200 .I Chapter 2 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
201 describes ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
202 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
203 .I Chapter 3 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
204 covers ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
205 |
23 | 206 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
207 .U2 "Acknowledgments |
23 | 208 .P |
24
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
209 To be written at the very end. |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
210 |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
211 |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
212 .\" End or Preface. Start of the normal text. |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
213 .\" Switch to arabic page numbers and start on a right page. |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
214 . |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
215 .if e \{ |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
216 . pn 1 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
217 . af PN 1 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
218 .\} |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
219 .if o \{ |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
220 . pn 0 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
221 . af PN 0 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
222 . bp |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
223 .\} |