# HG changeset patch # User markus schnalke # Date 1338754433 -7200 # Node ID bae9273b58027726c55cc31a755e658ed50c2e42 # Parent 75fbdd870ffe751f09d75811a4c498fa47e2c92c Wrote about configure options (not finished yet). diff -r 75fbdd870ffe -r bae9273b5802 ch03.roff --- a/ch03.roff Sun Jun 03 17:32:49 2012 +0200 +++ b/ch03.roff Sun Jun 03 22:13:53 2012 +0200 @@ -353,7 +353,7 @@ in favor of using .Pn mhshow exclusively. -.Ci 4c1efdd +.Ci 4c1efddfd499300c7e74263e57d8aa137e84c853 This decision follows the idea of orthogonal design. .P To allow this replacement, @@ -383,6 +383,91 @@ .H2 "Removal of Configure Options .P +Choice is a double-edged sword. +It allows customization and thus better suiting solutions, +but that comes with costs. +First, there is the cost of code complexity to have choice. +Second, there is the cost of less tested setups, because there are +more possible setups and especially corner-cases. +Third, there is the cost of choice itself. +The code complexity affects the developers. +Less tested code affects both, users and developers. +The problem of choice affects the users, for once simply by having to +choose but also by complexer interfaces that require more documentation. +Whenever options add little advantages, they should be considered for +removal. +.P +I have reduced the number of project-specific configure options from +fifteen to three. +.BU +With the removal of the mail transfer facilities five option vanished: +.IP \f(CW--with-mts=[smtp|sendmail]\fP +Specified the default mail transport service, which now is sendmail always. +.IP \f(CW--with-smtpservers=[server1...]\fP +Specified the default SMTP servers for the smtp mail transfer service. +.Ci 128545e06224233b7e91fc4c83f8830252fe16c9 +.IP \f(CW--with-cyrus-sasl\fP +Enabled SASL support for mail transfer. +.IP \f(CW--with-tls\fP +Enabled TLS support for mail transfer. +.IP \f(CW--enable-pop\fP +Enabled the message retrieval facility. +.BU +--with-ndbm=ARG use -lARG to link with ndbm +--with-ndbmheader=ARG #include to use ndbm + +.BU +The default backup prefix, i.e. the string that was prepended to message +filenames to tag them as deleted, had been the comma `\f(CW,\fP'. +There was a configure option to change the default to the hash symbol +`\f(CW#\fP': +.CW --with-hash-backup . +The implication of the hash symbol is that it introduces a comment +in the Unix shell. +Thus, the command line +.Cl "rm #13 #15 +calls +.Pn rm +without arguments because the first hash symbol starts the comment +that reaches until the end of the line. +To delete the backup files, +.Cl "rm ./#13 ./#15" +needs to be used. +.\" XXX check historical background +Besides this effect, the choice was personal preference. +I removed the configure option but added the profile entry +.Pe backup-prefix , +which allows to specify an arbitrary string as backup prefix. +.Ci 6c40d481d661d532dd527eaf34cebb6d3f8ed086 +This did not remove the choice but moved it to a location where +it suited better. +Profile entries are the common method to change mmh's behavior. +The name of the +.Fn .mh-sequences , +for instance, is specified there, too. +Moving the specification of the backup prefix there, appears to be right. +Eventually, the new trash folder obsoleted the concept of the +backup prefix completely. +(Well, there still are corner-cases to remove until the backup +prefix can be layed to rest, eventually.) +.\" FIXME: Do this work in the code! + + +.P +--with-editor=EDITOR specify the default editor +--with-pager=PAGER specify the default pager +.Ci 5d43a99db70c12a673028c7758c20cbe3e13ef5f + +.P +--disable-mhe disable mhe support +.Ci a7ce7b4a580d77b6c2c4d980812beb589aa4c643 + +.P +--enable-masquerade='draft_from mmailid username_extension' enable up to 3 types of address masquerading +--with-locking=[dot|fcntl|flock|lockf] specify the file locking method +--disable-locale turn off locale features + + .H2 "Removal of switches