Mercurial > docs > master
comparison discussion.roff @ 225:d83ab437e3a6
Removed FIXMEs (XXX) in the sources, those that I won't fix.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sun, 15 Jul 2012 20:00:14 +0200 |
parents | b0e83cfde2bf |
children | 27c28990b844 |
comparison
equal
deleted
inserted
replaced
224:b0e83cfde2bf | 225:d83ab437e3a6 |
---|---|
89 to be beaten by projects that focus exclusively on the creation | 89 to be beaten by projects that focus exclusively on the creation |
90 of a homogeneous system by integrating existing mail components. | 90 of a homogeneous system by integrating existing mail components. |
91 .P | 91 .P |
92 Usually, the limiting resource in the community development of | 92 Usually, the limiting resource in the community development of |
93 free software is man power. | 93 free software is man power. |
94 .\" XXX FIXME ref! | |
95 If the development effort is spread over a large development area, | 94 If the development effort is spread over a large development area, |
96 it becomes more difficult to compete with the specialists in the | 95 it becomes more difficult to compete with the specialists in the |
97 various fields. | 96 various fields. |
98 The concrete situation for MH-based mail systems is even tougher, | 97 The concrete situation for MH-based mail systems is even tougher, |
99 given their small and aged community, concerning both developers and users. | 98 given their small and aged community, concerning both developers and users. |
188 They likely are superior to the internal versions that were removed. | 187 They likely are superior to the internal versions that were removed. |
189 Additionally, the best suiting programs can be chosen freely. | 188 Additionally, the best suiting programs can be chosen freely. |
190 .P | 189 .P |
191 As it had already been possible to use an external MSA and MRA, | 190 As it had already been possible to use an external MSA and MRA, |
192 why should the internal version not be kept for convenience? | 191 why should the internal version not be kept for convenience? |
193 .\" XXX commas correct? | |
194 Transfered to a different area, the question, | 192 Transfered to a different area, the question, |
195 whether there is sense in having a fall-back pager in all | 193 whether there is sense in having a fall-back pager in all |
196 the command line tools for the cases when | 194 the command line tools for the cases when |
197 .Pn more | 195 .Pn more |
198 or | 196 or |
253 .LI 2 | 251 .LI 2 |
254 By depending on a library that provides the function. | 252 By depending on a library that provides the function. |
255 .LI 3 | 253 .LI 3 |
256 By depending on a program that provides the function. | 254 By depending on a program that provides the function. |
257 .LP | 255 .LP |
258 .\" XXX Rework sentence | |
259 While implementing the function in the project itself leads to the | 256 While implementing the function in the project itself leads to the |
260 largest increase in code size and requires the most maintenance | 257 largest increase in code size and requires the most maintenance |
261 and development work, | 258 and development work, |
262 it keeps the project's dependence on other software lowest. | 259 it keeps the project's dependence on other software lowest. |
263 Using libraries or external programs requires less maintenance work | 260 Using libraries or external programs requires less maintenance work |
265 Programs have the smallest interfaces and provide the best separation, | 262 Programs have the smallest interfaces and provide the best separation, |
266 but possibly limit the information exchange. | 263 but possibly limit the information exchange. |
267 External libraries are more strongly connected than external programs, | 264 External libraries are more strongly connected than external programs, |
268 thus information can be exchanged in a more flexible manner. | 265 thus information can be exchanged in a more flexible manner. |
269 Adding code to a project increases maintenance work. | 266 Adding code to a project increases maintenance work. |
270 .\" XXX ref | |
271 As implementing complex functions in the project itself adds | 267 As implementing complex functions in the project itself adds |
272 a lot of code, this should be avoided if possible. | 268 a lot of code, this should be avoided if possible. |
273 Thus, the dependencies only change in their character, | 269 Thus, the dependencies only change in their character, |
274 not in their existence. | 270 not in their existence. |
275 In mmh, library dependencies on | 271 In mmh, library dependencies on |
318 .Fn /etc/group | 314 .Fn /etc/group |
319 for consistency, which is completely unrelated to email. | 315 for consistency, which is completely unrelated to email. |
320 A tool like | 316 A tool like |
321 .Pn conflict | 317 .Pn conflict |
322 is surely useful, but it should not be shipped with mmh. | 318 is surely useful, but it should not be shipped with mmh. |
323 .\" XXX historic reasons? | |
324 .BU | 319 .BU |
325 .Pn rcvtty | 320 .Pn rcvtty |
326 was removed | 321 was removed |
327 .Ci 14767c94b3827be7c867196467ed7aea5f6f49b0 | 322 .Ci 14767c94b3827be7c867196467ed7aea5f6f49b0 |
328 because its use case of writing to the user's terminal | 323 because its use case of writing to the user's terminal |
337 .VS | 332 .VS |
338 scan -file - | write `id -un` | 333 scan -file - | write `id -un` |
339 VE | 334 VE |
340 .BU | 335 .BU |
341 .Pn viamail | 336 .Pn viamail |
342 .\" XXX was macht viamail | |
343 was removed | 337 was removed |
344 .Ci eda72d6a7a7c20ff123043fb7f19c509ea01f932 | 338 .Ci eda72d6a7a7c20ff123043fb7f19c509ea01f932 |
345 when the new attachment system was activated, because | 339 when the new attachment system was activated, because |
346 .Pn forw | 340 .Pn forw |
347 could then cover the task itself. | 341 could then cover the task itself. |
350 was rewritten as a shell script wrapper around | 344 was rewritten as a shell script wrapper around |
351 .Pn forw . | 345 .Pn forw . |
352 .Ci 0e82199cf3c991a173e0ac8aa776efdb3ded61e6 | 346 .Ci 0e82199cf3c991a173e0ac8aa776efdb3ded61e6 |
353 .BU | 347 .BU |
354 .Pn msgchk | 348 .Pn msgchk |
355 .\" XXX was macht msgchk | |
356 was removed | 349 was removed |
357 .Ci bb9360ead7eb7a3fedcce2eeedfc660014e41dbe , | 350 .Ci bb9360ead7eb7a3fedcce2eeedfc660014e41dbe , |
358 because it lost its use case when POP support was removed. | 351 because it lost its use case when POP support was removed. |
359 A call to | 352 A call to |
360 .Pn msgchk | 353 .Pn msgchk |
463 | 456 |
464 .H2 "Displaying Messages | 457 .H2 "Displaying Messages |
465 .Id mhshow | 458 .Id mhshow |
466 .P | 459 .P |
467 Since the very beginning, already in the first concept paper, | 460 Since the very beginning, already in the first concept paper, |
468 .\" XXX ref!!! | |
469 .Pn show | 461 .Pn show |
470 had been MH's message display program. | 462 had been MH's message display program. |
471 .Pn show | 463 .Pn show |
472 mapped message numbers and sequences to files and invoked | 464 mapped message numbers and sequences to files and invoked |
473 .Pn mhl | 465 .Pn mhl |
580 .Pn mhshow | 572 .Pn mhshow |
581 was reworked to behave more like | 573 was reworked to behave more like |
582 .Pn show | 574 .Pn show |
583 first (cf. Sec. | 575 first (cf. Sec. |
584 .Cf mhshow ). | 576 .Cf mhshow ). |
585 .\" XXX code commits? | |
586 Once the tools behaved more alike, the replacing appeared to be | 577 Once the tools behaved more alike, the replacing appeared to be |
587 even more natural. | 578 even more natural. |
588 Today, mmh's new | 579 Today, mmh's new |
589 .Pn show | 580 .Pn show |
590 has become the one single message display program once again, | 581 has become the one single message display program once again, |
597 Still, removing the old | 588 Still, removing the old |
598 .Pn show | 589 .Pn show |
599 hurts in one regard: It had been such a simple program. | 590 hurts in one regard: It had been such a simple program. |
600 Its lean elegance is missing from the new | 591 Its lean elegance is missing from the new |
601 .Pn show , | 592 .Pn show , |
602 .\" XXX | 593 but there is no alternative; |
603 however there is no alternative; | |
604 supporting MIME demands higher essential complexity. | 594 supporting MIME demands higher essential complexity. |
605 | |
606 .ig | |
607 XXX | |
608 Consider including text on scan listings here | |
609 | |
610 Scan listings shall not contain body content. Hence, removed this feature. | |
611 Scan listings shall operator on message headers and non-message information | |
612 only. Displaying the beginning of the body complicates everything too much. | |
613 That's no surprise, because it's something completely different. If you | |
614 want to examine the body, then use show(1)/mhshow(1). | |
615 Changed the default scan formats accordingly. | |
616 .Ci 70b2643e0da8485174480c644ad9785c84f5bff4 | |
617 .. | |
618 | |
619 | 595 |
620 | 596 |
621 | 597 |
622 .H2 "Configure Options | 598 .H2 "Configure Options |
623 .P | 599 .P |
678 With | 654 With |
679 .Sw --with-smtpservers | 655 .Sw --with-smtpservers |
680 default SMTP servers could be specified | 656 default SMTP servers could be specified |
681 .Ci 128545e06224233b7e91fc4c83f8830252fe16c9 . | 657 .Ci 128545e06224233b7e91fc4c83f8830252fe16c9 . |
682 Both of them became irrelevant when the SMTP transport service was removed. | 658 Both of them became irrelevant when the SMTP transport service was removed. |
683 .\" XXX code ref | |
684 In mmh, all messages are handed over to | 659 In mmh, all messages are handed over to |
685 .Pn sendmail | 660 .Pn sendmail |
686 for transportation. | 661 for transportation. |
687 | 662 |
688 | 663 |
689 .U3 "Backup Prefix | 664 .U3 "Backup Prefix |
690 .P | 665 .P |
691 The backup prefix is the string that was prepended to message | 666 The backup prefix is the string that was prepended to message |
692 filenames to tag them as deleted. | 667 filenames to tag them as deleted. |
693 By default it had been the comma character (`\fL,\fP'). | 668 By default it had been the comma character (`\fL,\fP'). |
694 .\" XXX Zeitlich ordnen | |
695 In July 2000, Kimmo Suominen introduced | 669 In July 2000, Kimmo Suominen introduced |
696 the configure option | 670 the configure option |
697 .Sw --with-hash-backup | 671 .Sw --with-hash-backup |
698 to change the default to the hash character `\f(CW#\fP'. | 672 to change the default to the hash character `\f(CW#\fP'. |
699 This choice was probably personal preference, but, | 673 This choice was probably personal preference, but, |
847 .I ndbm | 821 .I ndbm |
848 vanished and 120 lines of complex autoconf code could be saved | 822 vanished and 120 lines of complex autoconf code could be saved |
849 .Ci ecd6d6a20cb7a1507e3a20d6c4cb3a1cf14c6bbf . | 823 .Ci ecd6d6a20cb7a1507e3a20d6c4cb3a1cf14c6bbf . |
850 The change removed functionality but that is considered minor to the | 824 The change removed functionality but that is considered minor to the |
851 improvement of dropping the dependency and the complex autoconf code. | 825 improvement of dropping the dependency and the complex autoconf code. |
852 .\" XXX argument: slocal ist sowieso nicht teil vom mmh kern | 826 |
853 | 827 |
854 .U3 "MH-E Support | 828 .U3 "MH-E Support |
855 .P | 829 .P |
856 The configure option | 830 The configure option |
857 .Sw --disable-mhe | 831 .Sw --disable-mhe |
950 The decision to remove this username_extension masquerading | 924 The decision to remove this username_extension masquerading |
951 was motivated by the fact that | 925 was motivated by the fact that |
952 .Pn spost | 926 .Pn spost |
953 had not supported it yet. | 927 had not supported it yet. |
954 Username extensions can be used in mmh, but less convenient. | 928 Username extensions can be used in mmh, but less convenient. |
955 .\" XXX covered by next paragraph | 929 .\" XXX In the format file: %(getenv USERNAME_EXTENSION) |
956 .\" XXX format file %(getenv USERNAME_EXTENSION) | |
957 .Ci 2abae0bfd0ad5bf898461e50aa4b466d641f23d9 | 930 .Ci 2abae0bfd0ad5bf898461e50aa4b466d641f23d9 |
958 .P | 931 .P |
959 The | 932 The |
960 .I draft_from | 933 .I draft_from |
961 masquerading type instructed | 934 masquerading type instructed |
1007 | 980 |
1008 .H2 "Command Line Switches | 981 .H2 "Command Line Switches |
1009 .P | 982 .P |
1010 The command line switches of MH tools follow a style similar to | 983 The command line switches of MH tools follow a style similar to |
1011 the X Window System style. | 984 the X Window System style. |
1012 .\" XXX ref | |
1013 The switches consist of a single dash (`\fL-\fP') followed by a word. | 985 The switches consist of a single dash (`\fL-\fP') followed by a word. |
1014 For example | 986 For example |
1015 .Cl -truncate . | 987 .Cl -truncate . |
1016 To ease typing, the word can be abbreviated, given the remaining | 988 To ease typing, the word can be abbreviated, given the remaining |
1017 prefix is unambiguous. | 989 prefix is unambiguous. |
1045 If one task should be accomplished in various ways, | 1017 If one task should be accomplished in various ways, |
1046 switches are a good approach to alter the behavior of a program. | 1018 switches are a good approach to alter the behavior of a program. |
1047 Changing the behavior of programs provides flexibility and customization | 1019 Changing the behavior of programs provides flexibility and customization |
1048 to users, but at the same time it complicates the code, | 1020 to users, but at the same time it complicates the code, |
1049 the documentation, and the usage of the program. | 1021 the documentation, and the usage of the program. |
1050 .\" XXX: Ref | |
1051 Therefore, the number of switches should be kept small. | 1022 Therefore, the number of switches should be kept small. |
1052 A small set of well-chosen switches is best. | 1023 A small set of well-chosen switches is best. |
1053 Usually, the number of switches increases over time. | 1024 Usually, the number of switches increases over time. |
1054 Already in 1985, Rose and Romine have identified this as a major | 1025 Already in 1985, Rose and Romine have identified this as a major |
1055 problem of MH: | 1026 problem of MH: |
1639 let's push forward, aggressively. | 1610 let's push forward, aggressively. |
1640 .QE | 1611 .QE |
1641 .LP | 1612 .LP |
1642 I did so already in the months before. | 1613 I did so already in the months before. |
1643 I pushed forward. | 1614 I pushed forward. |
1644 .\" XXX semicolon ? | |
1645 I simply dropped the cruft. | 1615 I simply dropped the cruft. |
1646 .P | 1616 .P |
1647 The decision to drop a feature was based on literature research and | 1617 The decision to drop a feature was based on literature research and |
1648 careful thinking, but whether having had contact with this particular | 1618 careful thinking, but whether having had contact with this particular |
1649 feature within my own computer life served as a rule of thumb. | 1619 feature within my own computer life served as a rule of thumb. |
1652 Hence, others can comprehend my view and argue for undoing the change | 1622 Hence, others can comprehend my view and argue for undoing the change |
1653 if I have missed an important aspect. | 1623 if I have missed an important aspect. |
1654 I was quick in dropping parts. | 1624 I was quick in dropping parts. |
1655 I rather include falsely dropped parts again, than going at a slower pace. | 1625 I rather include falsely dropped parts again, than going at a slower pace. |
1656 Mmh is experimental work; it requires tough decisions. | 1626 Mmh is experimental work; it requires tough decisions. |
1657 .\" XXX ``exp. work'' schon oft gesagt | |
1658 | 1627 |
1659 | 1628 |
1660 .U3 "Process Forking | 1629 .U3 "Process Forking |
1661 .P | 1630 .P |
1662 Being a tool chest, MH creates many processes. | 1631 Being a tool chest, MH creates many processes. |
1891 and parts of arbitrary type following. | 1860 and parts of arbitrary type following. |
1892 .P | 1861 .P |
1893 MH's MIME support is a direct implementation of the RFCs. | 1862 MH's MIME support is a direct implementation of the RFCs. |
1894 The perception of the topic described in the RFCs is clearly visible | 1863 The perception of the topic described in the RFCs is clearly visible |
1895 in MH's implementation. | 1864 in MH's implementation. |
1896 .\" XXX rewrite ``no idea''. | |
1897 As a result, | 1865 As a result, |
1898 MH had all the MIME features but no idea of attachments. | 1866 MH had all the MIME features but no idea of attachments. |
1899 But users do not need all the MIME features, | 1867 But users do not need all the MIME features, |
1900 they want convenient attachment handling. | 1868 they want convenient attachment handling. |
1901 | 1869 |
2188 MIME parts of type message/external-body are not automatically retrieved | 2156 MIME parts of type message/external-body are not automatically retrieved |
2189 anymore. | 2157 anymore. |
2190 Instead, information on how to retrieve them is output. | 2158 Instead, information on how to retrieve them is output. |
2191 Not supporting this rare case saved nearly one thousand lines of code | 2159 Not supporting this rare case saved nearly one thousand lines of code |
2192 .Ci 55e1d8c654ee0f7c45b9361ce34617983b454c32 . | 2160 .Ci 55e1d8c654ee0f7c45b9361ce34617983b454c32 . |
2193 .\" XXX mention somewhere else too: (The profile entry `nmh-access-ftp' | |
2194 .\" and sbr/ruserpass.c for reading ~/.netrc are gone now.) | |
2195 The MIME type `application/octet-stream; type=tar' is not special anymore. | 2161 The MIME type `application/octet-stream; type=tar' is not special anymore. |
2196 The automatically extracting of such MIME parts had been the | 2162 The automatically extracting of such MIME parts had been the |
2197 dangerous part of the | 2163 dangerous part of the |
2198 .Sw -auto | 2164 .Sw -auto |
2199 mode | 2165 mode |
2267 in a single pager session. | 2233 in a single pager session. |
2268 Non-text content needs to be converted to text by appropriate | 2234 Non-text content needs to be converted to text by appropriate |
2269 .Pe mhshow-show-* | 2235 .Pe mhshow-show-* |
2270 profile entries before, if this is possible and wanted. | 2236 profile entries before, if this is possible and wanted. |
2271 A common example for this are PDF files. | 2237 A common example for this are PDF files. |
2272 .ig \"XXX | |
2273 .Pe mhshow-show-* | |
2274 profile entries can be used to display MIME parts in a specific way. | |
2275 to display them in the terminal. | |
2276 .. | |
2277 In mmh, MIME parts are always displayed serially. | 2238 In mmh, MIME parts are always displayed serially. |
2278 The request to display the MIME type `multipart/parallel' in parallel | 2239 The request to display the MIME type `multipart/parallel' in parallel |
2279 is ignored. | 2240 is ignored. |
2280 It is simply treated as `multipart/mixed' | 2241 It is simply treated as `multipart/mixed' |
2281 .Ci d0581ba306a7299113a346f9b4c46ce97bc4cef6 . | 2242 .Ci d0581ba306a7299113a346f9b4c46ce97bc4cef6 . |
3301 This is the function of choice for path conversion. | 3262 This is the function of choice for path conversion. |
3302 Absolute directory paths are the most general representation of a | 3263 Absolute directory paths are the most general representation of a |
3303 path name. | 3264 path name. |
3304 The result is a pointer to static memory. | 3265 The result is a pointer to static memory. |
3305 .P | 3266 .P |
3306 .\" XXX ueberfluessig? | |
3307 The new functions have names that indicate their use. | 3267 The new functions have names that indicate their use. |
3308 Two of the functions convert relative to absolute path names of the | 3268 Two of the functions convert relative to absolute path names of the |
3309 same type. | 3269 same type. |
3310 The third function converts any path name type to the most general one, | 3270 The third function converts any path name type to the most general one, |
3311 the absolute directory path. | 3271 the absolute directory path. |
3598 .Ci 0052f1024deb0a0a2fc2e5bacf93d45a5a9c9b32 . | 3558 .Ci 0052f1024deb0a0a2fc2e5bacf93d45a5a9c9b32 . |
3599 Such decisions limit the portability of mmh | 3559 Such decisions limit the portability of mmh |
3600 if systems do not support these standardized and widespread functions. | 3560 if systems do not support these standardized and widespread functions. |
3601 This compromise is made because mmh focuses on the future. | 3561 This compromise is made because mmh focuses on the future. |
3602 .P | 3562 .P |
3603 .\" XXX kuerzen und mit dem naechsten Absatz vereinen | |
3604 As I am still in my twenties, have no programming experience from | 3563 As I am still in my twenties, have no programming experience from |
3605 past decades. | 3564 past decades. |
3606 I have not followed the evolution of C through time. | 3565 I have not followed the evolution of C through time. |
3607 I have not suffered from the the Unix wars. | 3566 I have not suffered from the the Unix wars. |
3608 I have not longed for standardization. | 3567 I have not longed for standardization. |
3864 This is a ratio of 1.3 source files per program. | 3823 This is a ratio of 1.3 source files per program. |
3865 18 programs depend on multiple source files; | 3824 18 programs depend on multiple source files; |
3866 21 programs depend on one source file only. | 3825 21 programs depend on one source file only. |
3867 (These numbers and the ones in the following text ignore the MH library | 3826 (These numbers and the ones in the following text ignore the MH library |
3868 as well as shell scripts and multiple names for the same program.) | 3827 as well as shell scripts and multiple names for the same program.) |
3869 .\" XXX graph | |
3870 .P | 3828 .P |
3871 Splitting the source code of a large program into multiple files can | 3829 Splitting the source code of a large program into multiple files can |
3872 increase the readability of its source code, | 3830 increase the readability of its source code, |
3873 but most of the mmh tools are small and straight-forward programs. | 3831 but most of the mmh tools are small and straight-forward programs. |
3874 In exception of the MIME handling tools (i.e. | 3832 In exception of the MIME handling tools (i.e. |