Mercurial > docs > master
comparison ch03.roff @ 95:edac7e46a9f2
More text about switches.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sat, 16 Jun 2012 13:26:30 +0200 |
parents | 093ccf39a45e |
children | 12348d620245 |
comparison
equal
deleted
inserted
replaced
94:13bdd6917156 | 95:edac7e46a9f2 |
---|---|
1074 .Pn send | 1074 .Pn send |
1075 was removed. | 1075 was removed. |
1076 The special-casing of `the' draft message became irrelevant after | 1076 The special-casing of `the' draft message became irrelevant after |
1077 the rework of the draft system. | 1077 the rework of the draft system. |
1078 (See Sec. XXX.) | 1078 (See Sec. XXX.) |
1079 | 1079 Equally, |
1080 .U3 "Inplace | 1080 .Pn comp |
1081 lost its | |
1082 .Sw -file | |
1083 switch. | |
1084 The draft folder facility, together with the | |
1085 .Sw -form | |
1086 switch, are sufficient. | |
1087 | |
1088 | |
1089 .U3 "Inplace Editing | |
1081 .P | 1090 .P |
1082 .Pn anno | 1091 .Pn anno |
1083 had the switches | 1092 had the switches |
1084 .Sw -[no]inplace | 1093 .Sw -[no]inplace |
1085 to either annotate the message inplace and thus preserve hard links, | 1094 to either annotate the message inplace and thus preserve hard links, |
1101 .Pn anno . | 1110 .Pn anno . |
1102 .P | 1111 .P |
1103 .Pn burst | 1112 .Pn burst |
1104 also had | 1113 also had |
1105 .Sw -[no]inplace | 1114 .Sw -[no]inplace |
1106 switches, but they had different meaning, as written in nmh's | 1115 switches, but with different meaning. |
1107 .Mp burst(1) | 1116 With |
1108 man page: | 1117 .Sw -inplace , |
1109 .sp | 1118 the digest had been replaced by the table of contents (i.e. the |
1119 introduction text) and the bursted messages were placed right | |
1120 after this message, renumbering all following messages. | |
1121 Also, any trailing text of the digest was lost, though, | |
1122 in practice, it usually consists of an end-of-digest marker only. | |
1123 Nontheless, this behavior appeared less elegant than the | |
1124 .Sw -noinplace | |
1125 behavior, which already had been the default. | |
1126 Nmh's | |
1127 .Mp burst (1) | |
1128 man page reads: | |
1129 .sp \n(PDu | |
1110 .QP | 1130 .QP |
1111 If -noinplace is given, each digest is preserved, no table | 1131 If -noinplace is given, each digest is preserved, no table |
1112 of contents is produced, and the messages contained within | 1132 of contents is produced, and the messages contained within |
1113 the digest are placed at the end of the folder. Other messages | 1133 the digest are placed at the end of the folder. Other messages |
1114 are not tampered with in any way. | 1134 are not tampered with in any way. |
1115 .sp | 1135 .sp \n(PDu |
1116 .P | 1136 .LP |
1117 With | |
1118 .Sw -inplace , | |
1119 the digest had been replaced by the table of contents (i.e. the | |
1120 introduction text) and the bursted messages were placed right | |
1121 after this message, renumbering all following messages. | |
1122 Also, any trailing text of the digest will be lost, though, | |
1123 in practice, it usually consists of an end-of-digest marker only. | |
1124 The decision to drop the | 1137 The decision to drop the |
1125 .Sw -inplace | 1138 .Sw -inplace |
1126 behavior was supported by the complexity and possible data loss | 1139 behavior was supported by the code complexity and the possible data loss |
1127 it introduced. | 1140 it caused. |
1128 .Sw -noinplace | 1141 .Sw -noinplace |
1129 was the default behavior already and is the chosen behavior now. | 1142 was chosen to be the definitive behavior. |
1130 | 1143 |
1131 .U3 "mbox and MMDF | 1144 |
1132 .P | 1145 .U3 "Forms and Format Strings |
1133 packf: file mbox mmdf | 1146 .P |
1134 rcvpack: mbox mmdf | 1147 Historically, the tools that had |
1148 .Sw -form | |
1149 switches to supply a form file had | |
1150 .Sw -format | |
1151 switches as well to supply the contents of a form file as a string | |
1152 on the command line directly. | |
1153 In consequence, the following two lines equaled: | |
1154 .VS | |
1155 scan -form scan.mailx | |
1156 scan -format "`cat .../scan.mailx`" | |
1157 VE | |
1158 The | |
1159 .Sw -format | |
1160 switches were dropped in favor for extending the | |
1161 .Sw -form | |
1162 switches. | |
1163 If their argument starts with an equal sign (`='), | |
1164 then the rest of the argument is taken as a format string, | |
1165 otherwise the arguments is treated as the name of a format file. | |
1166 Thus, now the following two lines equal: | |
1167 .VS | |
1168 scan -form scan.mailx | |
1169 scan -form "=`cat .../scan.mailx`" | |
1170 VE | |
1171 This rework removed the prefix collision between | |
1172 .Sw -form | |
1173 and | |
1174 .Sw -format . | |
1175 Now, typing | |
1176 .Sw -fo | |
1177 suffices to specify form or format string. | |
1178 .P | |
1179 The different meaning of | |
1180 .Sw -format | |
1181 for | |
1182 .Pn repl | |
1183 and | |
1184 .Pn forw | |
1185 was removed in mmh. | |
1186 .Pn forw | |
1187 was completely switched to MIME-type forwarding, thus removing the | |
1188 .Sw -[no]format . | |
1189 For | |
1190 .Pn repl , | |
1191 the | |
1192 .Sw -[no]format | |
1193 switches were reworked to | |
1194 .Sw -[no]filter | |
1195 switches. | |
1196 The | |
1197 .Sw -format | |
1198 switches of | |
1199 .Pn send | |
1200 and | |
1201 .Pn post , | |
1202 which had a third meaning, | |
1203 were removed likewise. | |
1204 Eventually, the ambiguity of the | |
1205 .Sw -format | |
1206 switches was resolved by not anymore having any such switch in mmh. | |
1207 | |
1208 | |
1209 .U3 "MIME Tools | |
1210 .P | |
1211 The MIME tools, which were once part of | |
1212 .Pn mhn , | |
1213 had several switches that added little practical value to the programs. | |
1214 The | |
1215 .Sw -[no]realsize | |
1216 switches of | |
1217 .Pn mhbuild | |
1218 and | |
1219 .Pn mhlist | |
1220 were removed, doing real size calculations always now, as | |
1221 ``This provides an accurate count at the expense of a small delay.'' | |
1222 This small delay is not noticable on modern systems. | |
1223 .P | |
1224 The | |
1225 .Sw -[no]check | |
1226 switches were removed together with the support for | |
1227 .Hd Content-MD5 | |
1228 header fields. | |
1229 .[ | |
1230 rfc 1864 | |
1231 .] | |
1232 (See Sec. XXX) | |
1233 .P | |
1234 The | |
1235 .Sw -[no]ebcdicsafe | |
1236 and | |
1237 .Sw -[no]rfc934mode | |
1238 switches of | |
1239 .Pn mhbuild | |
1240 were removed because they are considered obsolete. | |
1241 .P | |
1242 Content caching of external MIME parts, activated with the | |
1243 .Sw -rcache | |
1244 and | |
1245 .Sw -wcache | |
1246 switches was completely removed. | |
1247 External MIME parts are truly rare today, having a caching facility | |
1248 for them is appeares to be unnecessary. | |
1249 .P | |
1250 In pre-MIME times, | |
1251 .Pn mhl | |
1252 had covered many tasks that are part of MIME handling today. | |
1253 Therefore, | |
1254 .Pn mhl | |
1255 could be simplified to a large extend, reducing the number of its | |
1256 switches from 21 to 6. | |
1257 | |
1258 | |
1259 .U3 "Mail Transfer Switches | |
1260 .P | |
1261 With the removal of the mail transfer facilities, a lot of switches | |
1262 vanished automatically. | |
1263 .Pn inc | |
1264 lost 9 switches, namely | |
1265 .Sw -host , | |
1266 .Sw -port , | |
1267 .Sw -user , | |
1268 .Sw -proxy , | |
1269 .Sw -snoop , | |
1270 .Sw -[no]pack , | |
1271 as well as | |
1272 .Sw -sasl | |
1273 and | |
1274 .Sw -saslmech . | |
1275 .Pn send | |
1276 and | |
1277 .Pn post | |
1278 lost 11 switches each, namely | |
1279 .Sw -server , | |
1280 .Sw -port , | |
1281 .Sw -client , | |
1282 .Sw -user , | |
1283 .Sw -mail , | |
1284 .Sw -saml , | |
1285 .Sw -send , | |
1286 .Sw -soml , | |
1287 .Sw -snoop , | |
1288 as well as | |
1289 .Sw -sasl , | |
1290 .Sw -saslmech , | |
1291 and | |
1292 .Sw -tls . | |
1293 .Pn send | |
1294 had the switches only to pass them further to | |
1295 .Pn post , | |
1296 because the user would invoke | |
1297 .Pn post | |
1298 not directly, but through | |
1299 .Pn send . | |
1300 All these switches, except | |
1301 .Sw -snoop | |
1302 were usually defined as default switches in the user's profile, | |
1303 but hardly given in interactive usage. | |
1304 .P | |
1305 Of course, those switches did not really ``vanish'', but the configuration | |
1306 they did was handed over to external MSAs and MRAs. | |
1307 Instead of setting up the mail transfer in mmh, it is set up in | |
1308 external tools. | |
1309 Yet, this simplifies mmh. | |
1310 Specialized external tools will likely have simple configuration files. | |
1311 Hence, instead of having one complicated central configuration file, | |
1312 the configuration of each domain is separate. | |
1313 Although the user needs to learn to configure each of the tools, | |
1314 each configuration is likely much simpler. | |
1315 | |
1316 | |
1317 .U3 "Maildrop Formats | |
1318 .P | |
1319 With the removal of MMDF maildrop format support, | |
1320 .Pn packf | |
1321 and | |
1322 .Pn rcvpack | |
1323 no longer needed their | |
1324 .Sw -mbox | |
1325 and | |
1326 .Sw -mmdf | |
1327 switches. | |
1328 .Sw -mbox | |
1329 is the sole behavior now. | |
1330 In the same go, | |
1331 .Pn packf | |
1332 was reworked (see Sec. XXX) and its | |
1333 .Sw -file | |
1334 switch became unnecessary. | |
1335 | |
1336 | |
1337 .U3 "Terminal Magic | |
1338 .P | |
1339 Mmh's tools will no longer clear the screen (\c | |
1340 .Pn scan 's | |
1341 and | |
1342 .Pn mhl 's | |
1343 .Sw -[no]clear | |
1344 switches). | |
1345 Neither will | |
1346 .Pn mhl | |
1347 ring the bell (\c | |
1348 .Sw -[no]bell ) | |
1349 nor page the output itself (\c | |
1350 .Sw -length ). | |
1351 .P | |
1352 Generally, the pager to use is no longer specified with the | |
1353 .Sw -[no]moreproc | |
1354 command line switches for | |
1355 .Pn mhl | |
1356 and | |
1357 .Pn show /\c | |
1358 .Pn mhshow . | |
1359 .P | |
1360 .Pn prompter | |
1361 lost its | |
1362 .Sw -erase | |
1363 and | |
1364 .Sw -kill | |
1365 switches because today the terminal cares for the line editing keys. | |
1366 | |
1367 | |
1368 .U3 "Header Printing | |
1369 .P | |
1370 .Pn folder 's | |
1371 data output is self-explaining enough that | |
1372 displaying the header line makes few sense. | |
1373 Hence, the | |
1374 .Sw -[no]header | |
1375 switch was removed and headers are never printed. | |
1376 .P | |
1377 In | |
1378 .Pn mhlist , | |
1379 the | |
1380 .Sw -[no]header | |
1381 switches were removed, too. | |
1382 But in this case headers are always printed, | |
1383 because the output is not self-explaining. | |
1384 .P | |
1385 .Pn scan | |
1386 also had | |
1387 .Sw -[no]header | |
1388 switches. | |
1389 Printing the header had been sensible until the introduction of | |
1390 format strings made it impossible to display the column headings. | |
1391 Only the folder name and the current date remained to be printed. | |
1392 As this information can be perfectly retrieved by | |
1393 .Pn folder | |
1394 and | |
1395 .Pn date , | |
1396 consequently, the switches were removed. | |
1397 .P | |
1398 By removing all | |
1399 .Sw -header | |
1400 switches, the collision with | |
1401 .Sw -help | |
1402 on the first two letters was resolved. | |
1403 Currently, | |
1404 .Sw -h | |
1405 evaluates to | |
1406 .Sw -help | |
1407 for all tools of mmh. | |
1408 | |
1409 | |
1410 .U3 "Suppressing Edits or the WhatNow Shell | |
1411 .P | |
1412 The | |
1413 .Sw -noedit | |
1414 switches of | |
1415 .Pn comp , | |
1416 .Pn repl , | |
1417 .Pn forw , | |
1418 .Pn dist , | |
1419 and | |
1420 .Pn whatnow | |
1421 was removed, but it can now be replaced by specifying | |
1422 .Sw -editor | |
1423 with an empty argument. | |
1424 (Specifying | |
1425 .Cl "-editor true | |
1426 is nearly the same, only differing by the previous editor being set.) | |
1427 .P | |
1428 The more important change is the removal of the | |
1429 .Sw -nowhatnowproc | |
1430 switch. | |
1431 This switch had introduced an awkward behavior, as explained in nmh's | |
1432 man page for | |
1433 .Mp comp (1): | |
1434 .QP | |
1435 The \-editor editor switch indicates the editor to use for | |
1436 the initial edit. Upon exiting from the editor, comp will | |
1437 invoke the whatnow program. See whatnow(1) for a discussion | |
1438 of available options. The invocation of this program can be | |
1439 inhibited by using the \-nowhatnowproc switch. (In truth of | |
1440 fact, it is the whatnow program which starts the initial | |
1441 edit. Hence, \-nowhatnowproc will prevent any edit from | |
1442 occurring.) | |
1443 .P | |
1444 Effectively, the | |
1445 .Sw -nowhatnowproc | |
1446 switch stored a copy of the form file into the draft folder. | |
1447 As | |
1448 .Cl "-whatnowproc true | |
1449 causes the same behavior, the | |
1450 .Sw -nowhatnowproc | |
1451 switch was removed for being redundant. | |
1452 Likely, however, the intention for specifying | |
1453 .Sw -nowhatnowproc | |
1454 is sending a fully prepared form file at once. | |
1455 This can be done with | |
1456 .Cl "-whatnowproc send" . | |
1457 | |
1458 | |
1459 .U3 "Compatibility Switches | |
1460 .BU | |
1461 The hidden | |
1462 .Sw -[no]total | |
1463 switches of | |
1464 .Pn flist . | |
1465 They were simply the inverse of the visible | |
1466 .Sw -[no]fast | |
1467 switches: | |
1468 .Sw -total | |
1469 was | |
1470 .Sw -nofast | |
1471 and | |
1472 .Sw -nototal | |
1473 was | |
1474 .Sw -fast . | |
1475 I removed the | |
1476 .Sw -[no]total | |
1477 legacy. | |
1478 .BU | |
1479 The | |
1480 .Sw -subject | |
1481 switch of | |
1482 .Pn sortm | |
1483 existed for compatibility only. | |
1484 It can be fully replaced by | |
1485 .Cl "-textfield subject | |
1486 thus it was removed. | |
1487 | |
1488 | |
1489 .U3 "Various | |
1490 .BU | |
1491 In order to avoid prefix collisions amoung switch names, the | |
1492 .Sw -version | |
1493 switch was renamed to | |
1494 .Sw -Version | |
1495 (with capital `V'). | |
1496 Every program has the | |
1497 .Sw -version | |
1498 switch but its first three letters collided with the | |
1499 .Sw -verbose | |
1500 switch, present in many programs. | |
1501 The rename solved this problem once for all. | |
1502 Although this rename breaks a basic interface, having the | |
1503 .Sw -V | |
1504 abbreviation to display the version information, isn't all too bad. | |
1505 .BU | |
1506 .Sw -[no]preserve | |
1507 of | |
1508 .Pn refile | |
1509 was removed because what use was it anyway? | |
1510 .QP | |
1511 Normally when a message is refiled, for each destination | |
1512 folder it is assigned the number which is one above the current | |
1513 highest message number in that folder. Use of the | |
1514 \-preserv [sic!] switch will override this message renaming, and try | |
1515 to preserve the number of the message. If a conflict for a | |
1516 particular folder occurs when using the \-preserve switch, | |
1517 then refile will use the next available message number which | |
1518 is above the message number you wish to preserve. | |
1519 .BU | |
1520 The removal of the | |
1521 .Sw -[no]reverse | |
1522 switches of | |
1523 .Pn scan | |
1524 is a bug fix, supported by the comments | |
1525 ``\-[no]reverse under #ifdef BERK (I really HATE this)'' | |
1526 by Rose and | |
1527 ``Lists messages in reverse order with the `\-reverse' switch. | |
1528 This should be considered a bug.'' by Romine in the documentation. | |
1529 The question remaining is why neither Rose and Romine had fixed this | |
1530 bug in the Eighties when they wrote these comments nor has anyone | |
1531 thereafter. | |
1135 | 1532 |
1136 | 1533 |
1137 .ig | 1534 .ig |
1138 | 1535 |
1139 ap: width | 1536 forw: [no]dashstuffing(mhl) |
1140 dp: width | 1537 |
1141 burst: [no]quiet | 1538 mhshow: [no]pause [no]serialonly |
1142 flist: [no]total | |
1143 folder: [no]header | |
1144 | |
1145 comp: file | |
1146 dist: file(msh) | |
1147 forw: filter, [no]mime, [no]dashstuffing(mhl) | |
1148 repl: [no]format/filter width | |
1149 | 1539 |
1150 mhmail: resent queued | 1540 mhmail: resent queued |
1151 inc: snoop, (pop) | 1541 inc: snoop, (pop) |
1152 mhbuild: [no]check, [no]ebcdicsafe, [no]headers, [no]list, [no]realsize | 1542 |
1153 [no]rfc934mode, [no]contentid (caching) | 1543 mhl: [no]faceproc folder sleep |
1154 mhlist: [no]check [no]headers [no]realsize (caching) | |
1155 mhstore: [no]check [no]verbose (caching) | |
1156 | |
1157 scan: [no]clear [no]header [no]reverse | |
1158 | |
1159 mhl: [no]bell [no]clear [no]faceproc folder [no]moreproc length sleep | |
1160 [no]dashstuffing(forw) digest list volume number issue number | 1544 [no]dashstuffing(forw) digest list volume number issue number |
1161 mhshow: [no]check [no]pause [no]serialonly (caching) [no]moreproc | 1545 |
1162 length width | 1546 prompter: [no]doteof |
1163 | |
1164 prompter: erase kill [no]doteof | |
1165 | 1547 |
1166 refile: [no]preserve [no]unlink [no]rmmproc | 1548 refile: [no]preserve [no]unlink [no]rmmproc |
1167 | 1549 |
1168 send: filter [no]format [no]forward [no]mime [no]msgid | 1550 send: [no]forward [no]mime [no]msgid |
1169 [no]push split [no]unique (sasl) width snoop [no]dashstuffing | 1551 [no]push split [no]unique (sasl) width snoop [no]dashstuffing |
1170 attach attachformat | 1552 attach attachformat |
1171 whatnow: (noedit) attach | 1553 whatnow: (noedit) attach |
1172 | 1554 |
1173 slocal: [no]suppressdups | 1555 slocal: [no]suppressdups |
1174 | 1556 |
1175 sortm: subject | 1557 spost: [no]filter [no]backup width [no]push idanno |
1176 | |
1177 spost: [no]filter [no]format [no]remove [no]backup width [no]push idanno | |
1178 [no]check(whom) whom(whom) | 1558 [no]check(whom) whom(whom) |
1179 | 1559 |
1180 whom: ??? | 1560 whom: ??? |
1181 | 1561 |
1182 | |
1183 (pop) host, port, user, [no]pack, proxy | |
1184 (smtp) mail saml send soml client server user port | |
1185 (sasl) sasl, saslmech | |
1186 (tls) | |
1187 (caching) rcache wcache | |
1188 | |
1189 noedit | |
1190 nowhatnowproc | |
1191 | |
1192 | |
1193 format -> form | |
1194 | |
1195 version -> Version | |
1196 | |
1197 .. | 1562 .. |
1563 | |
1198 | 1564 |
1199 .ig | 1565 .ig |
1200 | 1566 |
1201 .P | 1567 .P |
1202 To ease typing, the switches can be abbreviated as much as the remaining | 1568 To ease typing, the switches can be abbreviated as much as the remaining |
1230 Reducing switch prefix collisions, shortens the necessary prefix lenght | 1596 Reducing switch prefix collisions, shortens the necessary prefix lenght |
1231 the user must type. | 1597 the user must type. |
1232 Having less switches helps best. | 1598 Having less switches helps best. |
1233 | 1599 |
1234 .. | 1600 .. |
1601 | |
1602 | |
1603 | |
1235 | 1604 |
1236 .H1 "Modernizing | 1605 .H1 "Modernizing |
1237 | 1606 |
1238 | 1607 |
1239 .H2 "Removal of Code Relicts | 1608 .H2 "Removal of Code Relicts |