docs/master

changeset 232:77c87c38bff4

Removed bad hyphenation and widows.
author markus schnalke <meillo@marmaro.de>
date Mon, 16 Jul 2012 01:47:12 +0200
parents e526e3cb85d3
children 348b92755bef
files discussion.roff input/mh-session intro.roff
diffstat 3 files changed, 58 insertions(+), 49 deletions(-) [+]
line diff
     1.1 --- a/discussion.roff	Mon Jul 16 00:42:13 2012 +0200
     1.2 +++ b/discussion.roff	Mon Jul 16 01:47:12 2012 +0200
     1.3 @@ -10,7 +10,7 @@
     1.4  nmh at the time when the mmh project had started, i.e. fall 2011.
     1.5  Recent changes in nmh are rarely part of the discussion.
     1.6  .P
     1.7 -Whenever lines of code were counted, David A. Wheeler's \fIsloccount\fP
     1.8 +Whenever lines of code are counted, David A. Wheeler's \fIsloccount\fP
     1.9  was used to measure the amount in a comparable way.
    1.10  .P
    1.11  For the reader's convenience, the structure of modern email systems
    1.12 @@ -342,11 +342,11 @@
    1.13  when the new attachment system was activated, because
    1.14  .Pn forw
    1.15  could then cover the task itself.
    1.16 -The program
    1.17 +The
    1.18  .Pn sendfiles
    1.19 -was rewritten as a shell script wrapper around
    1.20 -.Pn forw .
    1.21 -.Ci 0e82199cf3c991a173e0ac8aa776efdb3ded61e6
    1.22 +shell script was rewritten as a wrapper around
    1.23 +.Pn forw
    1.24 +.Ci 0e82199cf3c991a173e0ac8aa776efdb3ded61e6 .
    1.25  .BU
    1.26  .Pn msgchk
    1.27  was removed
    1.28 @@ -502,6 +502,7 @@
    1.29  .Cl "mhn -show" .
    1.30  It was capable of displaying MIME messages appropriately.
    1.31  .P
    1.32 +.ZZ
    1.33  From then on, two message display tools were part of nmh,
    1.34  .Pn show
    1.35  and
    1.36 @@ -820,7 +821,7 @@
    1.37  .Sw -suppressdup
    1.38  switch.
    1.39  .P
    1.40 -As a variety of versions of the database library exist,
    1.41 +Because a variety of versions of the database library exist,
    1.42  .[
    1.43  wolter unix incompat notes dbm
    1.44  .]
    1.45 @@ -876,10 +877,10 @@
    1.46  The configure option
    1.47  .Sw --enable-masquerade
    1.48  could take up to three arguments:
    1.49 -.Ar draft_from ,
    1.50 -.Ar mmailid ,
    1.51 +.CW draft_from ,
    1.52 +.CW mmailid ,
    1.53  and
    1.54 -.Ar username_extension .
    1.55 +.CW username_extension .
    1.56  They activated different types of address masquerading.
    1.57  All of them were implemented in the SMTP-speaking
    1.58  .Pn post
    1.59 @@ -981,13 +982,13 @@
    1.60  .U3 "Remaining Options
    1.61  .P
    1.62  Two configure options remain in mmh.
    1.63 -One is the locking method to use:
    1.64 +One of them is the file locking method to use:
    1.65  .Sw --with-locking=[dot|fcntl|flock|lockf] .
    1.66  The idea of removing all methods except the portable
    1.67  .I "dot locking
    1.68  and having that one as the default is appealing, but this change
    1.69  requires deeper technical investigation into the topic.
    1.70 -The other option,
    1.71 +The other remaining option,
    1.72  .Sw --enable-debug ,
    1.73  compiles the programs with debugging symbols.
    1.74  This option is likely to stay.
    1.75 @@ -1002,7 +1003,7 @@
    1.76  They consist of a single dash (`\fL-\fP') followed by a word.
    1.77  For example
    1.78  .Cl -truncate .
    1.79 -To ease typing, the word can be abbreviated, given the remaining
    1.80 +To ease typing, the switch can be abbreviated, given the remaining
    1.81  prefix is unambiguous.
    1.82  If no other switch starts with the letter `t', then any of
    1.83  .Cl "-truncate" ,
    1.84 @@ -1013,7 +1014,8 @@
    1.85  is equal.
    1.86  As a result, switches can neither be grouped (as in
    1.87  .Cl "ls -ltr" )
    1.88 -nor can switch arguments be appended directly to the switch (as in
    1.89 +nor can switch arguments be appended directly to the switch itself
    1.90 +(as in
    1.91  .Cl "sendmail -q30m" ).
    1.92  Many switches have negating counter-parts, which start with `no'.
    1.93  For example
    1.94 @@ -1119,19 +1121,22 @@
    1.95  The total number of functional switches in mmh dropped from 465
    1.96  to 233.
    1.97  
    1.98 +.sp
    1.99  .KS
   1.100  .in 1c
   1.101  .so input/switches.grap
   1.102  .KE
   1.103 +.sp
   1.104  
   1.105  .P
   1.106 +.ZZ
   1.107  A part of the switches vanished after functions were removed.
   1.108  This was the case for network mail transfer, for instance.
   1.109  Sometimes, however, the work flow was the other way:
   1.110  I looked through the
   1.111  .Mp mh-chart (7)
   1.112  man page to identify the tools with apparently too many switches.
   1.113 -Then I considered the benefit of each switch by examining
   1.114 +Then I valued the benefit of each switch by examining
   1.115  the tool's man page and source code, aided by literature research
   1.116  and testing.
   1.117  
   1.118 @@ -1421,11 +1426,11 @@
   1.119  .Pn dist ,
   1.120  and
   1.121  .Pn whatnow
   1.122 -was removed and replaced by specifying
   1.123 +was removed and replaced by the ability to specify
   1.124  .Sw -editor
   1.125  with an empty argument
   1.126  .Ci 75fca31a5b9d5c1a99c74ab14c94438d8852fba9 .
   1.127 -(Specifying
   1.128 +(Using
   1.129  .Cl "-editor /bin/true
   1.130  is nearly the same. It differs only in setting the previous editor.)
   1.131  .P
   1.132 @@ -1455,7 +1460,7 @@
   1.133  .Pn whatnow
   1.134  program which starts the initial edit.
   1.135  Hence,
   1.136 -.Sw -nowhatnowproc
   1.137 +.Sw \%-nowhatnowproc
   1.138  will prevent any edit from occurring.)
   1.139  .QE
   1.140  .P
   1.141 @@ -1476,14 +1481,14 @@
   1.142  .Pn packf
   1.143  and
   1.144  .Pn rcvpack
   1.145 -no longer needed their
   1.146 +no longer needed the
   1.147  .Sw -mbox
   1.148  and
   1.149  .Sw -mmdf
   1.150  switches.
   1.151  The behavior of
   1.152  .Sw -mbox
   1.153 -is the sole behavior now
   1.154 +became the definitive behavior
   1.155  .Ci 3916ab66ad5d183705ac12357621ea8661afd3c0 .
   1.156  Further rework in both tools made the
   1.157  .Sw -file
   1.158 @@ -1499,14 +1504,15 @@
   1.159  switches
   1.160  .Ci e57b17343dcb3ff373ef4dd089fbe778f0c7c270
   1.161  .Ci 943765e7ac5693ae177fd8d2b5a2440e53ce816e ).
   1.162 -Neither does
   1.163 +The message formating tool
   1.164  .Pn mhl
   1.165 -ring the bell (\c
   1.166 +does neither ring the bell (\c
   1.167  .Sw -[no]bell
   1.168  .Ci e11983f44e59d8de236affa5b0d0d3067c192e24 )
   1.169  nor does it page the output itself (\c
   1.170  .Sw -length
   1.171 -.Ci 5b9d883db0318ed2b84bb82dee880d7381f99188 ).
   1.172 +.Ci 5b9d883db0318ed2b84bb82dee880d7381f99188 )
   1.173 +anymore.
   1.174  Generally, the pager to use is no longer specified with the
   1.175  .Sw -[no]moreproc
   1.176  command line switches for
   1.177 @@ -1755,7 +1761,7 @@
   1.178  .[
   1.179  nmh-workers mailing list archive website
   1.180  .]
   1.181 -contains a
   1.182 +contained a
   1.183  .Hd Content-MD5
   1.184  header field.
   1.185  Neither did any of the 60\|000 messages in my personal mail storage.
   1.186 @@ -1830,7 +1836,6 @@
   1.187  hardcopy terminal.
   1.188  It remained in the code until spring 2012, when I finally removed it
   1.189  .Ci b7764c4a6b71d37918a97594d866258f154017ca .
   1.190 -.P
   1.191  The check only prevented a pager to be placed between the printing
   1.192  program (\c
   1.193  .Pn mhl )
   1.194 @@ -1868,6 +1873,7 @@
   1.195  In MIME terms, this is a multi-part message having a text part first
   1.196  and parts of arbitrary type following.
   1.197  .P
   1.198 +.ZZ
   1.199  MH's MIME support is a direct implementation of the RFCs.
   1.200  The perception of the topic described in the RFCs is clearly visible
   1.201  in MH's implementation.
   1.202 @@ -1987,6 +1993,9 @@
   1.203  Furthermore, the hash character (`\fL#\fP') is not special any more
   1.204  at line beginnings in the draft message.
   1.205  Users need not concern themselves with the whole topic at all.
   1.206 +The approach taken in mmh is tailored towards today's most common case:
   1.207 +a text part, possibly with attachments.
   1.208 +This case was simplified.
   1.209  .P
   1.210  Although the new approach does not anymore support arbitrary MIME
   1.211  compositions directly, the full power of
   1.212 @@ -2000,10 +2009,6 @@
   1.213  to convert the draft to MIME.
   1.214  Because the resulting draft neither contains non-ASCII characters
   1.215  nor has it attachment headers, the attachment system will not touch it.
   1.216 -.P
   1.217 -The approach taken in mmh is tailored towards today's most common case:
   1.218 -a text part, possibly with attachments.
   1.219 -This case was simplified.
   1.220  
   1.221  
   1.222  .U3 "MIME Type Guessing
   1.223 @@ -2087,7 +2092,7 @@
   1.224  would have been specified.
   1.225  In the
   1.226  .Sw -noauto
   1.227 -mode, the parts are processed according to rules, defined by
   1.228 +mode, the parts are processed according to the rules that are defined by
   1.229  .Pe mhstore-store-*
   1.230  profile entries.
   1.231  These rules define generic filename templates for storing
   1.232 @@ -2251,10 +2256,11 @@
   1.233  is ignored.
   1.234  It is simply treated as `multipart/mixed'
   1.235  .Ci d0581ba306a7299113a346f9b4c46ce97bc4cef6 .
   1.236 -This was already possible to requested with the, now removed,
   1.237 +This was already possible to request with the
   1.238  .Sw -serialonly
   1.239  switch of
   1.240 -.Pn mhshow .
   1.241 +.Pn mhshow ,
   1.242 +which is now removed.
   1.243  As MIME parts are always processed exclusively, i.e. serially,
   1.244  the `\fL%e\fP' escape in
   1.245  .Pe mhshow-show-*
   1.246 @@ -2476,10 +2482,8 @@
   1.247  and
   1.248  .Sw -draftmessage
   1.249  could be removed.
   1.250 -More difficult but also more improving was updating the tools to the
   1.251 -new concept.
   1.252 -For nearly three decades, the tools needed to support two draft handling
   1.253 -approaches.
   1.254 +More difficult, but also more improving, was the updating of the
   1.255 +tools to the new concept.
   1.256  By fully switching to the draft folder, the tools could be
   1.257  simplified by dropping the awkward draft message handling code.
   1.258  .Sw -draft
   1.259 @@ -2506,7 +2510,9 @@
   1.260  with
   1.261  .Sw -nouse ,
   1.262  the default.
   1.263 -.LP
   1.264 +.ZZ
   1.265 +.RT
   1.266 +.sp \n(PDu
   1.267  In either case, the behavior of
   1.268  .Pn comp
   1.269  is deterministic.
   1.270 @@ -2793,7 +2799,7 @@
   1.271  .H1 "Styling
   1.272  .P
   1.273  Kernighan and Pike have emphasized the importance of style in the
   1.274 -preface of \fPThe Practice of Programming\fP:
   1.275 +preface of \fIThe Practice of Programming\fP:
   1.276  .[ [
   1.277  kernighan pike practice of programming
   1.278  .], p. x]
   1.279 @@ -2971,6 +2977,7 @@
   1.280  
   1.281  .H2 "Structural Rework
   1.282  .P
   1.283 +.ZZ
   1.284  Although the stylistic changes described already improve the
   1.285  readability of the source code, all of them were changes ``in the small''.
   1.286  Structural changes, in contrast, affect much larger code areas.
   1.287 @@ -3001,11 +3008,11 @@
   1.288  .Sw -[no]inplace .
   1.289  Then Jon Steinhart introduced his attachment system.
   1.290  In need for more advanced annotation handling, he extended
   1.291 -.Pn anno .
   1.292 -He added five more switches:
   1.293 +.Pn anno
   1.294 +and added five more switches:
   1.295  .Sw -draft ,
   1.296  .Sw -list ,
   1.297 -.Sw -delete ,
   1.298 +.Sw \%-delete ,
   1.299  .Sw -append ,
   1.300  and
   1.301  .Sw -number ,
   1.302 @@ -3070,16 +3077,16 @@
   1.303  Such structural differences can only be solved by adjusting the
   1.304  structure of the implementation to the structure of the problem.
   1.305  .P
   1.306 -Steinhart had added the new
   1.307 +Steinhart had added the
   1.308  .Sw -list
   1.309  and
   1.310  .Sw -delete
   1.311 -switches in a style similar to the other switches though
   1.312 +switches in the same way as the other switches though
   1.313  they are of structural different type.
   1.314  Semantically,
   1.315  .Sw -list
   1.316  and
   1.317 -.Sw -delete
   1.318 +.Sw \%-delete
   1.319  introduce operation modes.
   1.320  Historically,
   1.321  .Pn anno
   1.322 @@ -3483,6 +3490,7 @@
   1.323  .Pn mhmail
   1.324  will be removed.
   1.325  .P
   1.326 +.ZZ -1
   1.327  In the mmh tool chest, every program reads the profile.
   1.328  (\c
   1.329  .Pn slocal
   1.330 @@ -3524,7 +3532,7 @@
   1.331  The explanation neither matches the problem concerned exactly
   1.332  nor is the interpretation clear.
   1.333  If the described desire addresses the technical level,
   1.334 -then it conflicts fundamentally with the Unix philosophy,
   1.335 +then it conflicts with the Unix philosophy,
   1.336  precisely because the indistinquishability of human and script
   1.337  input is the main reason for the huge software leverage in Unix.
   1.338  If, however, the described desire addresses the user's view,
   1.339 @@ -3564,6 +3572,7 @@
   1.340  if systems do not support these standardized and widespread functions.
   1.341  This compromise is made because mmh focuses on the future.
   1.342  .P
   1.343 +.ZZ
   1.344  As I am still in my twenties, have no programming experience from
   1.345  past decades.
   1.346  I have not followed the evolution of C through time.
   1.347 @@ -3676,6 +3685,7 @@
   1.348  .Fu strrchr()
   1.349  provides the core functionality.
   1.350  .BU
   1.351 +.ZZ
   1.352  The
   1.353  .Fu ssequal()
   1.354  function \(en apparently for ``substring equal'' \(en
   1.355 @@ -3693,7 +3703,7 @@
   1.356   * if that needs to be changed. Prefix checking is cheaper, so
   1.357   * should be kept if it's sufficient.
   1.358   */
   1.359 -
   1.360 +sp .5
   1.361  /*
   1.362   * Check if s1 is a substring of s2.
   1.363   * If yes, then return 1, else return 0.
   1.364 @@ -4056,6 +4066,8 @@
   1.365  .Ci 469a4163c2a1a43731d412eaa5d9cae7d670c48b
   1.366  .Ci aed384169af5204b8002d06e7a22f89197963d2d
   1.367  .Ci 3caf9e298a8861729ca8b8a84f57022b6f3ea742 .
   1.368 +.P
   1.369 +.ZZ -1
   1.370  The decrease of tools built from multiple source files and thus
   1.371  the decrease of
   1.372  .Fn uip/*sbr.c
     2.1 --- a/input/mh-session	Mon Jul 16 00:42:13 2012 +0200
     2.2 +++ b/input/mh-session	Mon Jul 16 01:47:12 2012 +0200
     2.3 @@ -57,9 +57,5 @@
     2.4     1  2012-07-04 23:42  Bob                The Unix philosophy
     2.5  VE
     2.6  .VS
     2.7 -$ f(CBscan +sentfP		fI(list the messages in folder `sent')fP
     2.8 -   1  2012-07-12 08:23  To:"Jean-Luc Pica  Re: Good advice
     2.9 -VE
    2.10 -.VS
    2.11  $ 
    2.12  VE
     3.1 --- a/intro.roff	Mon Jul 16 00:42:13 2012 +0200
     3.2 +++ b/intro.roff	Mon Jul 16 01:47:12 2012 +0200
     3.3 @@ -312,6 +312,7 @@
     3.4  but the community did not want to have them active by default.
     3.5  Mmh is my way to change this.
     3.6  .P
     3.7 +.ZZ
     3.8  In my eyes, MH's concepts could be exploited better and
     3.9  the style of the tools could be improved.
    3.10  Both would simplify and generalize the system, providing cleaner