docs/master

changeset 212:9317d789cef9

Various improvements and rework.
author markus schnalke <meillo@marmaro.de>
date Thu, 12 Jul 2012 22:04:51 +0200
parents ff303d854771
children de8172bcdc5e
files discussion.roff input/mh-session intro.roff preface.roff
diffstat 4 files changed, 142 insertions(+), 168 deletions(-) [+]
line diff
     1.1 --- a/discussion.roff	Thu Jul 12 20:01:46 2012 +0200
     1.2 +++ b/discussion.roff	Thu Jul 12 22:04:51 2012 +0200
     1.3 @@ -401,7 +401,7 @@
     1.4  .P
     1.5  Removing
     1.6  .Pn msh
     1.7 -together with the truly archaic code relicts
     1.8 +together with the truly archaic code relics
     1.9  .Pn vmh
    1.10  and
    1.11  .Pn wmh
    1.12 @@ -1028,11 +1028,29 @@
    1.13  
    1.14  .H2 "Command Line Switches
    1.15  .P
    1.16 -The command line switches of MH tools is similar to the X Window style.
    1.17 +The command line switches of MH tools are similar to the X Window style.
    1.18  .\" XXX ref
    1.19 -They are words, introduced by a single dash.
    1.20 -For example:
    1.21 -.Cl "-truncate" .
    1.22 +They consist of a single dash (`\fL-\fP') followed by a word.
    1.23 +To ease typing, the word can be abbreviated, given the remaining
    1.24 +prefix remains unambiguous.
    1.25 +If no other switch starts with the letter `t', then any of
    1.26 +.Cl "-truncate" ,
    1.27 +.Cl "-trunc" ,
    1.28 +.Cl "-tr" ,
    1.29 +and
    1.30 +.Cl "-t
    1.31 +is equal.
    1.32 +As a result, switches can neither be grouped (as in
    1.33 +.Cl "ls -ltr" )
    1.34 +nor can switch arguments be appended directly to the switch (as in
    1.35 +.Cl "sendmail -q30m" ).
    1.36 +Many switches have negating counter-parts, which start with `no'.
    1.37 +For example
    1.38 +.Cl "-notruncate
    1.39 +inverts the
    1.40 +.Cl "-truncate
    1.41 +switch.
    1.42 +They exist to override the effect of default switches in the profile.
    1.43  Every program in mmh has two generic switches:
    1.44  .Sw -help ,
    1.45  to print a short message on how to use the program, and 
    1.46 @@ -1652,7 +1670,7 @@
    1.47  increasingly extended.
    1.48  New features entered the project and became alternatives to the
    1.49  existing behavior.
    1.50 -Relicts from several decades have gathered in the code base,
    1.51 +Relics from several decades have gathered in the code base,
    1.52  but seldom obsolete features were dropped.
    1.53  This section describes the removing of old code
    1.54  and the modernizing of the default setup.
    1.55 @@ -1661,7 +1679,7 @@
    1.56  .Cf code-style .
    1.57  
    1.58  
    1.59 -.H2 "Code Relicts
    1.60 +.H2 "Code Relics
    1.61  .P
    1.62  My position regarding the removal of obsolete functions of mmh,
    1.63  .\" XXX ``in order to remove old code,''
     2.1 --- a/input/mh-session	Thu Jul 12 20:01:46 2012 +0200
     2.2 +++ b/input/mh-session	Thu Jul 12 22:04:51 2012 +0200
     2.3 @@ -6,7 +6,7 @@
     2.4     2  2365-05-15 02:17  "Jean-Luc Picard"  Good advice
     2.5  VE
     2.6  .VS
     2.7 -$ f(CBshowfP		fI(display the current message, i.e. the one marked with `+')fP
     2.8 +$ f(CBshowfP			fI(display the current message, i.e. the one marked with `+')fP
     2.9  Date:    Wed, 04 Jul 2012 23:42:00 +0200
    2.10  From:    Bob <bob@example.org>
    2.11  To:      meillo@marmaro.de
    2.12 @@ -24,11 +24,11 @@
    2.13                          (quotation freely rearranged)
    2.14  VE
    2.15  .VS
    2.16 -$ f(CBrefile +quotesfP		fI(move the current message to the folder `quotes')fP
    2.17 +$ f(CBrefile +quotesfP	fI(move the current message to the folder `quotes')fP
    2.18  Create folder "/home/meillo/Mail/quotes"? y
    2.19  VE
    2.20  .VS
    2.21 -$ f(CBnextfP		fI(display the next message; the same as `fLshow nfP')fL
    2.22 +$ f(CBnextfP			fI(display the next message; equal to `fLshow nfP')fL
    2.23  Date:    Sat, 15 May 2365 02:17:00 +0000
    2.24  From:    "Jean-Luc Picard" <captain@uss-enterprise>
    2.25  To:      meillo@marmaro.de
    2.26 @@ -39,16 +39,17 @@
    2.27  And all this may mean something.
    2.28  VE
    2.29  .VS
    2.30 -$ f(CBreplfP		fI(reply to this message)fP
    2.31 -			fI(the reply is composed in the editor)fP
    2.32 +$ f(CBreplfP			fI(reply to this message)fP
    2.33 +[...]				fI(the reply is composed in an editor session)fP
    2.34 +
    2.35  What now? f(CBsendfP
    2.36  VE
    2.37  .VS
    2.38 -$ f(CBfolderfP		fI(print information on the current folder)fP
    2.39 +$ f(CBfolderfP			fI(print information on the current folder)fP
    2.40  inbox+ has 1 message   (2-2); cur=2
    2.41  VE
    2.42  .VS
    2.43 -$ f(CBscanfP		fI(list the messages in the current folder)fP
    2.44 +$ f(CBscanfP			fI(list the messages in the current folder)fP
    2.45     2+ 2365-05-15 02:17  "Jean-Luc Picard"  Good advice
    2.46  VE
    2.47  .VS
     3.1 --- a/intro.roff	Thu Jul 12 20:01:46 2012 +0200
     3.2 +++ b/intro.roff	Thu Jul 12 22:04:51 2012 +0200
     3.3 @@ -20,7 +20,7 @@
     3.4  .Id mh
     3.5  .P
     3.6  MH is a conceptual email system design and its concrete implementation.
     3.7 -Notably, MH had started as a design proposal at RAND Corporation,
     3.8 +MH had started as a design proposal at RAND Corporation,
     3.9  where the first implementation followed later.
    3.10  In spirit, MH is similar to Unix, which
    3.11  influenced the world more in being a set of system design concepts
    3.12 @@ -39,13 +39,13 @@
    3.13  shapiro gaines mh proposal
    3.14  .]
    3.15  to superseed RAND's old monolithic \fIMail System\fP (MS).
    3.16 -More than one year later, in late 1978, Bruce Borden returned to the
    3.17 +One year later, in 1978, Bruce Borden picked up on the
    3.18  proposal and implemented a prototype, which he called
    3.19  \fIMail Handler\fP (MH).
    3.20  Before the prototype's existence, the concept was
    3.21  believed to be practically unusable.
    3.22  But the prototype \(en written in only three weeks \(en
    3.23 -proved successful and replaced MS within six months.\&
    3.24 +proved successful and replaced MS thereafter.\&
    3.25  .[ [
    3.26  rand note design of mh
    3.27  .], p. 4]
    3.28 @@ -58,32 +58,31 @@
    3.29  rand note design of mh
    3.30  .], p. 4]
    3.31  RAND had put the code into the public domain by then.
    3.32 -MH was developed at UCI at the time when the Internet appeared,
    3.33 -the BSD started to include TCP/IP networking,
    3.34 +MH was developed at UCI at the same time when the Internet appeared,
    3.35 +BSD started to support TCP/IP networking,
    3.36  and Eric Allman wrote Sendmail.
    3.37  MH was extended as emailing became more featured.
    3.38  The development of MH was closely related to the development of email RFCs.
    3.39  In the advent of the \fIMultipurpose Internet Mail Extensions\fP (MIME),
    3.40  MH was one of the first implementations of the new email standard.
    3.41 -MH grew to provide anything necessary for emailing.
    3.42  .P
    3.43  In the nineties, the Internet became popular and in December 1996,
    3.44  Richard Coleman initiated the \fINew Mail Handler\fP (nmh) project.
    3.45 -Nmh is a fork of MH 6.8.3 and bases strongly on the
    3.46 +Nmh is a fork of MH 6.8.3 and bases heavily on the
    3.47  \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres.
    3.48  .[
    3.49  lbl changes
    3.50  .]
    3.51  Colman intended to modernize MH and improve its portability and
    3.52  MIME handling capabilities.
    3.53 -This should be done openly within the Internet community.
    3.54  The development of MH at UCI stopped after the 6.8.4 release in
    3.55  February 1996, soon after the development of nmh had started.
    3.56 -Today, nmh has almost completely replaced the original MH.
    3.57 -Some systems might still provide old MH, but mainly for historical reasons.
    3.58 +Today, nmh is developed openly in the Internet community.
    3.59 +It has almost completely replaced the original MH.
    3.60 +Some systems might still provide the old MH, but hardly for good reasons.
    3.61  .P
    3.62 -In the last years, the changes in nmh were mostly maintenance work.
    3.63 -However, the development was revived in December 2011
    3.64 +In the last years, the majority of changes in nmh was maintenance work.
    3.65 +Nevertheless, the development was revived in December 2011
    3.66  and stayed busy since then.
    3.67  
    3.68  
    3.69 @@ -140,34 +139,11 @@
    3.70  with different default values.
    3.71  Form templates for new messages and replies, as well as format files
    3.72  to adjust the output of tools are easily exchanged in the profile.
    3.73 +Almost every part of the system can be adjusted to personal preference.
    3.74  .P
    3.75 -Switches consist of a single dash (`\fL-\fP') followed by a word.
    3.76 -To ease typing, the word can be abbreviated, given the remaining
    3.77 -prefix remains unambiguous.
    3.78 -If no other switch starts with the letter `t', then any of
    3.79 -.Cl "-truncate" ,
    3.80 -.Cl "-trunc" ,
    3.81 -.Cl "-tr" ,
    3.82 -and
    3.83 -.Cl "-t
    3.84 -is equal.
    3.85 -As a result, switches can neither be grouped (as in
    3.86 -.Cl "ls -ltr" )
    3.87 -nor can switch arguments be appended directly to the switch (as in
    3.88 -.Cl "sendmail -q30m" ).
    3.89 -Many switches have negating counter-parts, which start with `no'.
    3.90 -For example
    3.91 -.Cl "-notruncate
    3.92 -inverts the
    3.93 -.Cl "-truncate
    3.94 -switch.
    3.95 -They exist to override the effect of default switches in the profile.
    3.96 -.P
    3.97 -The system is well scriptable and extensible.
    3.98 -Almost every part of the system can be adjusted to personal preference.
    3.99 +The whole system is well scriptable and extensible.
   3.100  New MH tools are built out of or on top of existing ones quickly.
   3.101 -Furthermore, MH encourages the user to tailor, extend, and automate
   3.102 -the system.
   3.103 +MH encourages the user to tailor, extend, and automate the system.
   3.104  As the MH tool chest was modeled after the Unix tool chest, the
   3.105  properties of the latter apply to the former as well.
   3.106  
   3.107 @@ -185,22 +161,22 @@
   3.108  .[
   3.109  hegardt mh for beginners
   3.110  .]
   3.111 -are old, but they still teach the basics.
   3.112 -Rose and Romine introduce MH deeper and more technical in two dozen pages.
   3.113 +are old, but still they teach the concepts and basics,
   3.114 +which remained unchanged.
   3.115 +Rose and Romine have written an excellent introduction on a more
   3.116 +technical level, with pointers to advanced usage.
   3.117  .[
   3.118  rose romine real work
   3.119  .]
   3.120 -For a more recent introduction, it is strongly recommended to have
   3.121 -a look at the \fIMH Book\fP.
   3.122 +For a more recent document, it is strongly recommended to have
   3.123 +a look at the \fIMH Book\fP,
   3.124  .[ [
   3.125  peek mh book
   3.126  .], Part II]
   3.127 -The online version of the book was updated on in May 2006.
   3.128 +especially at its online version.
   3.129  .P
   3.130 -Following here is an example mail handling session.
   3.131 -Although it uses mmh, it is mostly compatible with nmh and the
   3.132 -original MH.
   3.133 -Details might vary but the look and feel is the same.
   3.134 +Following here is a sample mail handling session with mmh.
   3.135 +Details might vary to MH and nmh but the look and feel is the same.
   3.136  
   3.137  .so input/mh-session
   3.138  
   3.139 @@ -209,66 +185,59 @@
   3.140  .P
   3.141  In order to understand the condition, goals and dynamics of a project,
   3.142  one needs to know the reasons behind them.
   3.143 -This section explains the background.
   3.144 +This section gives background information.
   3.145  .P
   3.146  MH predates the Internet;
   3.147 -it comes from times before networking was universal,
   3.148 +it comes from times before networking was universal;
   3.149  it comes from times when emailing was small, short and simple.
   3.150 -Then it grew, spread and adapted to the changes email went through.
   3.151 -Its core-concepts, however, remained the same.
   3.152 +Then, MH grew, spread and adapted to the changes email went through.
   3.153 +Its core concepts, however, remained the same.
   3.154  During the eighties, students at UCI actively worked on MH.
   3.155  They added new features and optimized the code for the systems
   3.156  popular at that time.
   3.157 -All this still was in times before POSIX and ANSI C.
   3.158 +This was in times before POSIX and ANSI C.
   3.159  As large parts of the code stem from this time, today's nmh source code
   3.160  still contains many ancient parts.
   3.161  BSD-specific code and constructs tailored for hardware of that time
   3.162  are frequent.
   3.163  .P
   3.164 -Nmh started about a decade after the POSIX and ANSI C standards were
   3.165 -established. A more modern coding style entered the code base, but still
   3.166 -a part of the developers came from ``the old days''. The developer
   3.167 -base became more diverse, thus broadening the range of different
   3.168 -coding styles.
   3.169 +Nmh started about one decade after the POSIX and ANSI C standards were
   3.170 +released.
   3.171 +A more modern coding style entered the code base but still
   3.172 +a part of the developers were ``of the old type''.
   3.173 +The developer base became more diverse,
   3.174 +thus broadening the range of different coding styles.
   3.175  Programming practices from different decades merged in the project.
   3.176  As several peers added code, the system became more a conglomeration
   3.177  of single tools rather than a homogeneous of-one-cast mail system.
   3.178 -Still, the existing basic concepts held it together.
   3.179 +For that, leadership would have been necessary.
   3.180 +Nevertheless, MH's basic concepts held the project together.
   3.181  They were mostly untouched throughout the years.
   3.182  .P
   3.183 -Despite the separation of the tool chest approach at the surface
   3.184 -\(en a collection of small, separate programs \(en
   3.185 -on the source code level, it is much more interwoven.
   3.186 -Several separate components were compiled into one program
   3.187 +Though clearly separated on the surface
   3.188 +\(en as a collection of small, separate programs \(en
   3.189 +the source code turns out to be fairly interwoven.
   3.190 +Multiple separate components are compiled into a program
   3.191  for efficiency reasons.
   3.192 -This led to intricate innards.
   3.193 -While clearly separated on the outside,
   3.194 -the programs turned out to be fairly interwoven inside.
   3.195 -.\" XXX FIXME rewrite...
   3.196 -.\" nicht zweimal ``interwoven''
   3.197 -.\" Unfortunately, the clear separation on the outside turned out to be
   3.198 -.\" fairly interwoven inside.
   3.199 +This leads to intricate innards.
   3.200  .P
   3.201 -The advent of MIME raised the complexity of email by a magnitude.
   3.202 -This is visible in nmh. The MIME-related parts are the most complex ones.
   3.203 +It is visible in nmh that
   3.204 +the advent of MIME raised the complexity of email by a magnitude.
   3.205 +The MIME-related parts are the most complex ones.
   3.206  It is also visible that MIME support was added on top of the old MH core.
   3.207  MH's tool chest style made this easily possible and encourages
   3.208  such approaches, but unfortunately, it led to duplicated functions
   3.209 -and half-hearted implementation of the concepts.
   3.210 +and half-hearted implementation of concepts.
   3.211  .P
   3.212 -To provide backward-compatibility, it is a common understanding not to
   3.213 -change the default settings.
   3.214 -In consequence, the user needs to activate modern features explicitly
   3.215 +To provide backward-compatibility, it is a common understanding
   3.216 +in the nmh community to not change the default settings.
   3.217 +In consequence, users need to activate modern features explicitly
   3.218  to be able to use them.
   3.219 -This puts a burden on new users, because out-of-the-box nmh remains
   3.220 -in the same ancient style.
   3.221 -If nmh is seen to be a back-end,
   3.222 -then this compatibility surely is important.
   3.223 -However, at the same time, new users have difficulties using nmh for
   3.224 -modern emailing.
   3.225 -The small but mature community around nmh needs little change
   3.226 +The ancient style in which fresh nmh setups remain to appear
   3.227 +causes difficulties for new users, as modern email features require
   3.228 +additional configuration.
   3.229 +The small but mature community around nmh, however, needs little change
   3.230  as they have had their convenient setups for decades.
   3.231 -.\" XXX Explain more
   3.232  
   3.233  
   3.234  .H1 "mmh
   3.235 @@ -276,9 +245,9 @@
   3.236  I started to work on my experimental version in October 2011,
   3.237  basing my work on nmh version \fInmh-1.3-dev\fP.
   3.238  At that time no more than three commits were made to nmh
   3.239 -since the beginning of the year, the latest one being
   3.240 -.Ci a01a41d031c796b526329a4170eb23f0ac93b949
   3.241 -on 2011-04-13.
   3.242 +since the beginning of 2011, the latest one being
   3.243 +.Ci a01a41d031c796b526329a4170eb23f0ac93b949 ,
   3.244 +commited on 2011-04-13.
   3.245  In December, when I announced my work in progress on the
   3.246  nmh-workers mailing list,
   3.247  .[
   3.248 @@ -291,7 +260,7 @@
   3.249  .]
   3.250  After long years of stagnation, nmh became actively developed again.
   3.251  Hence, while I was working on mmh, the community was working on nmh,
   3.252 -in parallel.
   3.253 +in parallel but unrelated.
   3.254  .P
   3.255  The name \fImmh\fP may stand for \fImodern mail handler\fP,
   3.256  because the project tries to modernize nmh.
   3.257 @@ -305,7 +274,7 @@
   3.258  .]
   3.259  which is Anselm Garbe's personal window manager \(en
   3.260  targeted to satisfy Garbe's personal needs whenever conflicts appear.
   3.261 -Dwm had retained its lean elegance and its focused character, whereas
   3.262 +Dwm has retained its lean elegance and its focused character, whereas
   3.263  its community-driven predecessor \fIwmii\fP
   3.264  .[
   3.265  wmii website
   3.266 @@ -318,42 +287,40 @@
   3.267  .P
   3.268  MH is the most important of very few email systems in a tool chest style.
   3.269  Tool chests are powerful because they can be perfectly automated and
   3.270 -extended. They allow arbitrary kinds of front-ends to be
   3.271 -implemented on top of them quickly and without internal knowledge.
   3.272 +extended.
   3.273 +They allow the implementation of arbitrary kinds of front-ends
   3.274 +on top of the tool chest quickly and without internal knowledge.
   3.275  Additionally, tool chests are easier to maintain than monolithic
   3.276  programs.
   3.277 -As there are few tool chests for emailing and as MH-like ones are the most
   3.278 -popular among them, they should be developed further.
   3.279 -This keeps their
   3.280 -conceptional elegance and unique scripting qualities available to users.
   3.281 -Mmh creates a modern and convenient entry point to MH-like systems
   3.282 -for new and interested users.
   3.283 +MH-like email tool chests should be kept alive as they fill a market
   3.284 +niche by providing conceptional elegance and unique scripting qualities.
   3.285 +Mmh tries to create a modern and convenient entry point to MH-like
   3.286 +systems for new and interested users.
   3.287  .P
   3.288  The mmh project is motivated by deficits of nmh and
   3.289 -my wish for general changes, combined
   3.290 -with the nmh community's reluctancy to change.
   3.291 -.P
   3.292 -At that time, nmh had not adjusted to modern emailing needs well enough.
   3.293 +by my wish for general changes.
   3.294 +At the time the mmh project started, nmh had not yet adjusted to
   3.295 +modern emailing needs well enough.
   3.296  The default setup was completely unusable for modern emailing.
   3.297  Too much setup work was required.
   3.298 -Several modern features were already available but the community
   3.299 -did not want to have them as default.
   3.300 -Mmh is a way to change this.
   3.301 +Several modern features were already available,
   3.302 +but the community did not want to have them active by default.
   3.303 +Mmh is my way to change this.
   3.304  .P
   3.305 -In my eyes, MH's concepts could be exploited even better and
   3.306 -the style of the tools could be improved. Both would simplify
   3.307 -and generalize the system, providing cleaner interfaces and more
   3.308 -software leverage at the same time.
   3.309 -Mmh is a way to demonstrate this.
   3.310 +In my eyes, MH's concepts could be exploited better and
   3.311 +the style of the tools could be improved.
   3.312 +Both would simplify and generalize the system, providing cleaner
   3.313 +interfaces and greater software leverage at the same time.
   3.314 +Mmh is my way to demonstrate this.
   3.315  .P
   3.316 -In providing several parts of an email system, nmh can hardly
   3.317 +In providing multiple parts of the email system, nmh can hardly
   3.318  compete with the large specialized projects that focus
   3.319 -on only one of the components.
   3.320 -The situation can be improved by concentrating the development power
   3.321 +on one of the components only.
   3.322 +The situation could be improved by concentrating the development power
   3.323  on the most unique part of MH and letting the user pick his preferred
   3.324  set of other mail components.
   3.325  Today's pre-packaged software components encourage this model.
   3.326 -Mmh is a way to go for this approach.
   3.327 +Mmh is my way to provide this.
   3.328  .P
   3.329  It is worthwhile to fork nmh for the development of mmh,
   3.330  because the two projects focus on different goals and differ in
   3.331 @@ -363,7 +330,7 @@
   3.332  .[
   3.333  nmh-workers schnalke understanding nmh
   3.334  .]
   3.335 -In developing a separate experimental version new approaches can
   3.336 +In developing a separate experimental version, new approaches can
   3.337  easily be tried out without the need to discuss changes beforehand.
   3.338  In fact, revolutionary changes are hardly possible otherwise.
   3.339  .P
   3.340 @@ -379,10 +346,9 @@
   3.341  Any effort needs to be targeted towards a specific goal
   3.342  in order to be successful.
   3.343  Therefore, a description of an imagined typical mmh user follows.
   3.344 -Mmh should satisfy his needs.
   3.345 -Actually, as mmh is my personal version of MH, this is a description
   3.346 -of myself.
   3.347 -Writing software for oneself is a reliable way to produce software
   3.348 +Actually, as mmh is my personal version of MH,
   3.349 +this is sort of a description of myself.
   3.350 +Developing software for one's own is a reliable way to produce software
   3.351  that matches the user's desires.
   3.352  .P
   3.353  The target user of mmh likes Unix and its philosophy.
   3.354 @@ -392,24 +358,24 @@
   3.355  productivity by scripting the mail system.
   3.356  He uses modern email features, such as attachments,
   3.357  non-ASCII text, digital signatures and message encryption in a natural way.
   3.358 -He is able to set up mail system components,
   3.359 -and like to have the choice to pick the ones he prefers.
   3.360 +He is able to set up mail system components
   3.361 +and likes to pick the ones he prefers.
   3.362  He has a reasonably modern operating system that complies to the
   3.363  POSIX and ANSI C standards.
   3.364  .P
   3.365  The typical user invokes mmh commands directly in an interactive
   3.366 -shell session, but he uses them to automate mail handling tasks as well.
   3.367 +shell session, even on workstations where graphical front-ends could
   3.368 +be added.
   3.369  Likely, he runs his mail setup on a server machine,
   3.370  to which he connects via ssh.
   3.371 -He might also have a local mmh installation on his workstation.
   3.372 -Still, he tend to use mmh directly in the shell instead
   3.373 -of using graphical front-ends.
   3.374 -He definitely wants to be flexible and thus be able to change
   3.375 +He might automate mail processing with mmh tools
   3.376 +but definitely he uses the tools to build better tools.
   3.377 +In any case, he wants to have the flexibility to change
   3.378  his setup to suit his needs.
   3.379  .P
   3.380  The typical mmh user is a programmer.
   3.381 -He likes to, occasionally, take the opportunity of free software to put
   3.382 -hands on and get involved in the software he uses.
   3.383 +He likes to, occasionally, make use of the opportunity of free software
   3.384 +by putting hands on and getting involved in software he uses.
   3.385  In consequence, he likes small and clean code bases and cares for
   3.386  code quality.
   3.387  In general, he believes that:
   3.388 @@ -420,36 +386,33 @@
   3.389  .BU
   3.390  Code optimizations for anything but readability should be avoided.
   3.391  .BU
   3.392 +Removed code is debugged code.
   3.393 +.BU
   3.394  Having a lot of choice is bad.
   3.395 -.BU
   3.396 -Removed code is debugged code.
   3.397  
   3.398  
   3.399 -.U2 "Goals
   3.400 -.P
   3.401 -The general goals for the mmh project are the following:
   3.402 +.U2 "Goals of the mmh Project
   3.403  .IP "Streamlining
   3.404  Mmh should be stripped down to its core, which is the user agent (MUA).
   3.405  The feature set should be distilled to the indispensable ones,
   3.406  effectively removing corner cases.
   3.407  Parts that do not add to the main task of being a conceptionally
   3.408  appealing user agent should be removed.
   3.409 -This includes the mail submission and mail retrieval facilities.
   3.410 +This includes the mail transfer and mail retrieval facilities.
   3.411  Choice should be reduced to the main options.
   3.412  All tools should be tightly shaped.
   3.413  .IP "Modernizing
   3.414  Mmh's feature set needs to become more modern.
   3.415 -Better support for attachments, digital signatures and message encryption
   3.416 -should be added.
   3.417 +Better support for attachments, digital signatures, and message
   3.418 +encryption should be added.
   3.419  MIME support should be integrated deeper and more naturally.
   3.420  The modern email features need to be readily available, out-of-the-box.
   3.421 -On the other hand,
   3.422 -bulletin board support and similar obsolete facilities can be dropped out.
   3.423 -Likewise, ancient technologies should not be supported any further.
   3.424 -The available concepts need to be expanded as far as possible.
   3.425 +On the other hand, obsolete facilities can be dropped out and
   3.426 +ancient technologies need not be further supported.
   3.427 +The available concepts should be expanded as far as possible.
   3.428  A small set of concepts should recur consistently.
   3.429  .IP "Styling
   3.430 -Mmh's source code needs to be updated to modern standards.
   3.431 +Mmh's source code should be updated to modern standards.
   3.432  Standardized library functions should replace non-standard versions
   3.433  whenever possible.
   3.434  Code should be separated into distinct modules when feasible.
     4.1 --- a/preface.roff	Thu Jul 12 20:01:46 2012 +0200
     4.2 +++ b/preface.roff	Thu Jul 12 22:04:51 2012 +0200
     4.3 @@ -86,8 +86,8 @@
     4.4  I had to discover that the community was reluctant to change.
     4.5  Its wish for compatibility was much stronger than its
     4.6  wish for convenient out-of-the-box setups \(en in contrast to my opinion.
     4.7 -This, once again, led to long discussions.
     4.8 -I came to understand their point of view, but it was different to mine.
     4.9 +Once again, this led to long discussions.
    4.10 +I came to understand their point of view, but it is different from mine.
    4.11  At the end of my three-month project, I had become familiar with
    4.12  nmh's code base and community,
    4.13  I had improved the project in minor ways,
    4.14 @@ -173,7 +173,7 @@
    4.15  The reader is expected to know the format of email messages and
    4.16  the structure of email transfer systems, at least on a basic level.
    4.17  It's advisable to have cross-read RFC\|821 and RFC\|822.
    4.18 -Furthermore, basic understanding of MIME [RFC\|2045\(enRFC\|2049]
    4.19 +Furthermore, basic understanding of MIME [RFC\|2045\(en2049]
    4.20  is good to have.
    4.21  The Wikipedia provides good introduction-level information about email.
    4.22  .[
    4.23 @@ -247,23 +247,15 @@
    4.24  In this case it is a reference to the man page of
    4.25  .Pn cat ,
    4.26  which is in section one of the Unix manual.
    4.27 -Internet technologies are specified by \fIRequests for Comments\fP (RFCs).
    4.28 -Throughout the document, they are referenced similar to ``RFC\|821''.
    4.29 +\fIRequests for Comments\fP (RFCs), which describe the working
    4.30 +of the Internet, are referenced as ``RFC\|821''.
    4.31  A list of relevant RFCs is located at the end of the document.
    4.32  Literature is cited in brackets, such as
    4.33  .[ ``[
    4.34  kernighan pike unix programming env
    4.35  .]]''.
    4.36 -Citations of email messages and websites are in the same style
    4.37 -but distinguished by a prefix.
    4.38 -For example:
    4.39 -.[ ``[
    4.40 -website mmh
    4.41 -.]]''
    4.42 -and
    4.43 -.[ ``[
    4.44 -nmh-workers mmh announce
    4.45 -.]]''.
    4.46 +Citations of email messages and websites are distinguished by
    4.47 +``mail:'' and ``web:'' prefixes.
    4.48  All references are collected at the end of the document.
    4.49  .P
    4.50  This document describes practical programming work.