docs/master

diff ch03.roff @ 51:49cf68506b5d

Spell checking.
author markus schnalke <meillo@marmaro.de>
date Sun, 20 May 2012 11:40:19 +0200
parents d3a02f5e63b3
children 814c33b96d89
line diff
     1.1 --- a/ch03.roff	Sat May 19 17:57:20 2012 +0200
     1.2 +++ b/ch03.roff	Sun May 20 11:40:19 2012 +0200
     1.3 @@ -6,23 +6,24 @@
     1.4  
     1.5  .H1 "Removal of Code Relicts
     1.6  .P
     1.7 -The code base of mmh originates from the late 70s, had been extensively
     1.8 -worked on in the mid 80s, and had been partly reorganized and extended
     1.9 -in the 90s. Relicts of all those times had gathered in the code base.
    1.10 +The code base of mmh originates from the late Seventies,
    1.11 +had been extensively
    1.12 +worked on in the mid Eighties, and had been partly reorganized and extended
    1.13 +in the Nineties. Relicts of all those times had gathered in the code base.
    1.14  My goal was to remove any ancient code parts. One part of the task was
    1.15  converting obsolete code constructs to standard constructs, the other part
    1.16  was dropping obsolete functions.
    1.17  .P
    1.18  As I'm not even thirty years old and have no more than seven years of
    1.19 -Unix experience, I needed to learn about the history in retroperspective.
    1.20 -Older people likely have used those ancient constructs themself
    1.21 -and have suffered from their incompatiblities and have longed for
    1.22 +Unix experience, I needed to learn about the history in retrospective.
    1.23 +Older people likely have used those ancient constructs themselves
    1.24 +and have suffered from their incompatibilities and have longed for
    1.25  standardization. Unfortunately, I have only read that others had done so.
    1.26  This put me in a much more difficult positions when working on the old
    1.27  code. I needed to recherche what other would have known by heart from
    1.28  experience. All my programming experience comes from a time past ANSI C
    1.29  and past POSIX. Although I knew about the times before, I took the
    1.30 -current state implicitely for granted most of the time.
    1.31 +current state implicitly for granted most of the time.
    1.32  .P
    1.33  Being aware of
    1.34  these facts, I rather let people with more historic experience solve the 
    1.35 @@ -156,7 +157,7 @@
    1.36  .DE
    1.37  the resulting behavior is similar to
    1.38  .Pn mailx .
    1.39 -Appearently,
    1.40 +Apparently,
    1.41  .Pn prompter
    1.42  hadn't been touched lately. Otherwise it's hardly explainable why it
    1.43  still offered the switches
    1.44 @@ -171,7 +172,7 @@
    1.45  
    1.46  .U2 "Vfork and Retry Loops
    1.47  .P
    1.48 -MH creates many processes, which is a concequence of the toolchest approach.
    1.49 +MH creates many processes, which is a consequence of the tool chest approach.
    1.50  In earlier times
    1.51  .Fu fork()
    1.52  had been an expensive system call, as the process's whole image needed
    1.53 @@ -194,7 +195,7 @@
    1.54  in the cases when they can be exchanged.
    1.55  With
    1.56  .Fu vfork()
    1.57 -being more errorprone and hardly faster, it's preferable to simply
    1.58 +being more error-prone and hardly faster, it's preferable to simply
    1.59  use
    1.60  .Fu fork()
    1.61  instead.
    1.62 @@ -203,7 +204,7 @@
    1.63  .Fu fork()
    1.64  is the probability of its success.
    1.65  Today on modern systems, the system call will succeed almost always.
    1.66 -In the 80s on heavy loaded systems, as they were common at
    1.67 +In the Eighties on heavy loaded systems, as they were common at
    1.68  universities, this had been different. Thus, many of the
    1.69  .Fu fork()
    1.70  calls were wrapped into loops to retry to fork several times in
    1.71 @@ -223,7 +224,7 @@
    1.72  to go. There are excellent specialized MTAs, like Postfix;
    1.73  there are specialized MDAs, like Procmail; there are specialized
    1.74  MRAs, like Fetchmail. I believe it's best to use them instead of
    1.75 -providing the same function ourself. Doing something well requires to
    1.76 +providing the same function ourselves. Doing something well requires to
    1.77  focus on this particular aspect or a small set of aspects. The more
    1.78  it is possible to focus, the better the result in this particular
    1.79  area will be. The limiting resource in Free Software community development
    1.80 @@ -249,7 +250,7 @@
    1.81  .P
    1.82  .Pn rcvtty
    1.83  was removed because its usecase of writing to the user's terminal
    1.84 -on receival of mail is hardly wanted today. If users like to be
    1.85 +on receiving of mail is hardly wanted today. If users like to be
    1.86  informed of new mail, then using the shell's
    1.87  .Ev MAILPATH
    1.88  variable or different (graphical) notifications are likely more
    1.89 @@ -290,9 +291,9 @@
    1.90  .Pn msh
    1.91  was removed because the tool was in conflict with the original
    1.92  philosophy of MH. It provided an interactive shell to access the
    1.93 -features of MH. One major feature of MH is being a toolchest.
    1.94 +features of MH. One major feature of MH is being a tool chest.
    1.95  .Pn msh
    1.96 -wouldn't be just another shell, taylored to the needs of mail
    1.97 +wouldn't be just another shell, tailored to the needs of mail
    1.98  handling, but one large program to have the MH tools built in.
    1.99  It's main use was for accessing Bulletin Boards, which have seized to
   1.100  be popular. Removing
   1.101 @@ -311,7 +312,7 @@
   1.102  .Fn draft
   1.103  and
   1.104  being located in the MH directory. When starting to compose another message
   1.105 -before the former one was sent, the user had been questioned wether to use,
   1.106 +before the former one was sent, the user had been questioned whether to use,
   1.107  refile or replace the old draft. Working on multiple drafts at the same time
   1.108  was impossible. One could only work on them in alteration by refiling the
   1.109  previous one to some directory and fetching some other one for reediting. 
   1.110 @@ -413,8 +414,8 @@
   1.111  is removed too, then the backup of the former message gets overwritten.
   1.112  Thus, the ability to restore removed messages does not only depend on
   1.113  the ``sweeping cron job'' but also on the removing of further messages.
   1.114 -This is undesireable, because the real mechanism is hidden from the user
   1.115 -and the concequences of further removals are not always obvious.
   1.116 +This is undesirable, because the real mechanism is hidden from the user
   1.117 +and the consequences of further removals are not always obvious.
   1.118  Further more, the backup files are scattered within the whole mail
   1.119  storage, instead of being collected at one place.
   1.120  .P
   1.121 @@ -425,14 +426,14 @@
   1.122  was introduced, very early.
   1.123  It could be set to any command, which would care for the mail removal
   1.124  instead of taking the default action, described above.
   1.125 -Refiling the to-be-removed files to some wastebin folder was a common
   1.126 +Refiling the to-be-removed files to some garbage folder was a common
   1.127  example. Nmh's man page
   1.128  .Mp rmm(1)
   1.129  proposes
   1.130  .Cl "refile +d
   1.131 -to move messages to the wastebin and
   1.132 +to move messages to the garbage folder and
   1.133  .Cl "rm `mhpath +d all`
   1.134 -the empty the wastebin.
   1.135 +the empty the garbage folder.
   1.136  Managing the message removal this way is a sane approach. It keeps
   1.137  the removed messages in one place, makes it easy to remove the backup
   1.138  files, and, most important, enables the user to use the tools of MH
   1.139 @@ -447,7 +448,7 @@
   1.140  .Pn mhpath
   1.141  to switch over from MH tools to Unix tools \(en MH can do it all itself.
   1.142  .P
   1.143 -This apporach matches perfect with the concepts of MH, thus making
   1.144 +This approach matches perfect with the concepts of MH, thus making
   1.145  it powerful. Hence, I made it the default. And even more, I also
   1.146  removed the old backup prefix approach, as it is clearly less powerful.
   1.147  Keeping unused alternative in the code is a bad choice as they likely
   1.148 @@ -588,8 +589,8 @@
   1.149  .Pn mhl 's
   1.150  limited display facilities couldn't cope with the task any longer.
   1.151  Instead of extending these tools, new ones were written from scratch
   1.152 -and then added to the MH toolchest. Doing so is encouraged by the
   1.153 -toolchest approach. The new tools could be added without interfering
   1.154 +and then added to the MH tool chest. Doing so is encouraged by the
   1.155 +tool chest approach. The new tools could be added without interfering
   1.156  with the existing ones. This is great. It allowed MH to be the
   1.157  first MUA to implement MIME.
   1.158  .P