Commit 7a9a5c13 7a9a5c138a9d226632a4b8c2fa16e4ba22c42697 by Sergey Poznyakoff

mh: improve GNU option parser and help output.

* mh/mh_argp.c (mh_argp_children): Set group number -2, to place
help output between the application help and informational options.
* mh/mhn.c (options): Regroup options,
* mh/pick.c: Likewise.

* mh/ali.c: Reword arg docs.
* mh/anno.c: Likewise.
* mh/burst.c: Likewise.
* mh/comp.c: Likewise.
* mh/fmtcheck.c: Likewise.
* mh/folder.c: Likewise.
* mh/forw.c: Likewise.
* mh/inc.c: Likewise.
* mh/install-mh.c: Likewise.
* mh/mark.c: Likewise.
* mh/mh_argp.c: Likewise.
* mh/mhl.c: Likewise.
* mh/mhn.c: Likewise.
* mh/mhparam.c: Likewise.
* mh/mhpath.c: Likewise.
* mh/pick.c: Likewise.
* mh/refile.c: Likewise.
* mh/repl.c: Likewise.
* mh/rmf.c: Likewise.
* mh/rmm.c: Likewise.
* mh/scan.c: Likewise.
* mh/send.c: Likewise.
* mh/sortm.c: Likewise.
* mh/whom.c: Likewise.
1 parent 7717d6fa
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 26
27 static char doc[] = N_("GNU MH ali")"\v" 27 static char doc[] = N_("GNU MH ali")"\v"
28 N_("Use -help to obtain the list of traditional MH options."); 28 N_("Use -help to obtain the list of traditional MH options.");
29 static char args_doc[] = N_("aliases ..."); 29 static char args_doc[] = N_("ALIAS [ALIAS...]");
30 30
31 /* GNU options */ 31 /* GNU options */
32 static struct argp_option options[] = { 32 static struct argp_option options[] = {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 static char doc[] = N_("GNU MH anno")"\v" 22 static char doc[] = N_("GNU MH anno")"\v"
23 N_("Options marked with `*' are not yet implemented.\n\ 23 N_("Options marked with `*' are not yet implemented.\n\
24 Use -help to obtain the list of traditional MH options."); 24 Use -help to obtain the list of traditional MH options.");
25 static char args_doc[] = N_("[msg [msg...]]"); 25 static char args_doc[] = N_("[MSGLIST]");
26 26
27 /* GNU options */ 27 /* GNU options */
28 static struct argp_option options[] = { 28 static struct argp_option options[] = {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 static char doc[] = N_("GNU MH burst")"\v" 25 static char doc[] = N_("GNU MH burst")"\v"
26 N_("Options marked with `*' are not yet implemented.\n\ 26 N_("Options marked with `*' are not yet implemented.\n\
27 Use -help to obtain the list of traditional MH options."); 27 Use -help to obtain the list of traditional MH options.");
28 static char args_doc[] = "[msgs]"; 28 static char args_doc[] = N_("[MSGLIST]");
29 29
30 /* GNU options */ 30 /* GNU options */
31 static struct argp_option options[] = { 31 static struct argp_option options[] = {
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 static char doc[] = N_("GNU MH comp")"\v" 24 static char doc[] = N_("GNU MH comp")"\v"
25 N_("Options marked with `*' are not yet implemented.\n" 25 N_("Options marked with `*' are not yet implemented.\n"
26 "Use -help to obtain the list of traditional MH options."); 26 "Use -help to obtain the list of traditional MH options.");
27 static char args_doc[] = "[msg]"; 27 static char args_doc[] = N_("[MSG]");
28 28
29 /* GNU options */ 29 /* GNU options */
30 static struct argp_option options[] = { 30 static struct argp_option options[] = {
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
21 21
22 static char doc[] = N_("GNU MH fmtcheck")"\v" 22 static char doc[] = N_("GNU MH fmtcheck")"\v"
23 N_("Use -help to obtain the list of traditional MH options."); 23 N_("Use -help to obtain the list of traditional MH options.");
24 static char args_doc[] = "";
25 24
26 /* GNU options */ 25 /* GNU options */
27 static struct argp_option options[] = { 26 static struct argp_option options[] = {
...@@ -34,7 +33,7 @@ static struct argp_option options[] = { ...@@ -34,7 +33,7 @@ static struct argp_option options[] = {
34 { "debug", ARG_DEBUG, NULL, 0, 33 { "debug", ARG_DEBUG, NULL, 0,
35 N_("enable parser debugging output"),}, 34 N_("enable parser debugging output"),},
36 35
37 { 0 } 36 { NULL }
38 }; 37 };
39 38
40 /* Traditional MH options */ 39 /* Traditional MH options */
...@@ -97,7 +96,7 @@ main (int argc, char **argv) ...@@ -97,7 +96,7 @@ main (int argc, char **argv)
97 MU_APP_INIT_NLS (); 96 MU_APP_INIT_NLS ();
98 97
99 mh_argp_init (); 98 mh_argp_init ();
100 mh_argp_parse (&argc, &argv, 0, options, mh_option, args_doc, doc, 99 mh_argp_parse (&argc, &argv, 0, options, mh_option, NULL, doc,
101 opt_handler, NULL, NULL); 100 opt_handler, NULL, NULL);
102 101
103 if (format_str && mh_format_parse (format_str, &format)) 102 if (format_str && mh_format_parse (format_str, &format))
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 34
35 static char doc[] = N_("GNU MH folder")"\v" 35 static char doc[] = N_("GNU MH folder")"\v"
36 N_("Use -help to obtain the list of traditional MH options."); 36 N_("Use -help to obtain the list of traditional MH options.");
37 static char args_doc[] = N_("[action] [msg]"); 37 static char args_doc[] = N_("[ACTION] [MSG]");
38 38
39 static struct argp_option options[] = { 39 static struct argp_option options[] = {
40 {N_("Actions are:"), 0, 0, OPTION_DOC, NULL, 0 }, 40 {N_("Actions are:"), 0, 0, OPTION_DOC, NULL, 0 },
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 static char doc[] = N_("GNU MH forw")"\v" 22 static char doc[] = N_("GNU MH forw")"\v"
23 N_("Options marked with `*' are not yet implemented.\n\ 23 N_("Options marked with `*' are not yet implemented.\n\
24 Use -help to obtain the list of traditional MH options."); 24 Use -help to obtain the list of traditional MH options.");
25 static char args_doc[] = "[msgs]"; 25 static char args_doc[] = N_("[MSGLIST]");
26 26
27 /* GNU options */ 27 /* GNU options */
28 static struct argp_option options[] = { 28 static struct argp_option options[] = {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 21
22 static char doc[] = N_("GNU MH inc")"\v" 22 static char doc[] = N_("GNU MH inc")"\v"
23 N_("Use -help to obtain the list of traditional MH options."); 23 N_("Use -help to obtain the list of traditional MH options.");
24 static char args_doc[] = N_("[+folder]"); 24 static char args_doc[] = N_("[+FOLDER]");
25 25
26 /* GNU options */ 26 /* GNU options */
27 static struct argp_option options[] = { 27 static struct argp_option options[] = {
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
19 19
20 static char doc[] = N_("GNU MH install-mh")"\v" 20 static char doc[] = N_("GNU MH install-mh")"\v"
21 N_("Use -help to obtain the list of traditional MH options."); 21 N_("Use -help to obtain the list of traditional MH options.");
22 static char args_doc[] = "";
23 22
24 /* GNU options */ 23 /* GNU options */
25 static struct argp_option options[] = { 24 static struct argp_option options[] = {
...@@ -65,7 +64,7 @@ main (int argc, char **argv) ...@@ -65,7 +64,7 @@ main (int argc, char **argv)
65 64
66 mh_argp_init (); 65 mh_argp_init ();
67 mh_auto_install = 0; 66 mh_auto_install = 0;
68 mh_argp_parse (&argc, &argv, 0, options, mh_option, args_doc, doc, 67 mh_argp_parse (&argc, &argv, 0, options, mh_option, NULL, doc,
69 opt_handler, NULL, NULL); 68 opt_handler, NULL, NULL);
70 69
71 name = getenv ("MH"); 70 name = getenv ("MH");
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 19
20 static char doc[] = N_("GNU MH mark")"\v" 20 static char doc[] = N_("GNU MH mark")"\v"
21 N_("Use -help to obtain the list of traditional MH options."); 21 N_("Use -help to obtain the list of traditional MH options.");
22 static char args_doc[] = "[msgs...]"; 22 static char args_doc[] = N_("[MSGLIST]");
23 23
24 /* GNU options */ 24 /* GNU options */
25 static struct argp_option options[] = { 25 static struct argp_option options[] = {
......
...@@ -180,7 +180,7 @@ struct argp mu_debug_argp = { ...@@ -180,7 +180,7 @@ struct argp mu_debug_argp = {
180 }; 180 };
181 181
182 struct argp_child mh_argp_children[] = { 182 struct argp_child mh_argp_children[] = {
183 { &mu_debug_argp, 0, N_("Global debugging settings"), 0 }, 183 { &mu_debug_argp, 0, N_("Global debugging settings"), -2 },
184 { NULL } 184 { NULL }
185 }; 185 };
186 186
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
23 23
24 static char doc[] = N_("GNU MH mhl")"\v" 24 static char doc[] = N_("GNU MH mhl")"\v"
25 N_("Use -help to obtain the list of traditional MH options."); 25 N_("Use -help to obtain the list of traditional MH options.");
26 static char args_doc[] = N_("[files]"); 26 static char args_doc[] = N_("[FILE [FILE...]]");
27 27
28 /* GNU options */ 28 /* GNU options */
29 static struct argp_option options[] = { 29 static struct argp_option options[] = {
......
...@@ -27,63 +27,69 @@ ...@@ -27,63 +27,69 @@
27 static char doc[] = N_("GNU MH mhn")"\v" 27 static char doc[] = N_("GNU MH mhn")"\v"
28 N_("Options marked with `*' are not yet implemented.\n\ 28 N_("Options marked with `*' are not yet implemented.\n\
29 Use -help to obtain the list of traditional MH options."); 29 Use -help to obtain the list of traditional MH options.");
30 static char args_doc[] = "[msgs]"; 30 static char args_doc[] = N_("[MSGLIST]");
31 31
32 static struct argp_option options[] = { 32 static struct argp_option options[] = {
33 {"folder", ARG_FOLDER, N_("FOLDER"), 0, 33 {"folder", ARG_FOLDER, N_("FOLDER"), 0,
34 N_("specify folder to operate upon"), 0}, 34 N_("specify folder to operate upon"), 0},
35 {"file", ARG_FILE, N_("FILE"), 0, 35 {"file", ARG_FILE, N_("FILE"), 0,
36 N_("specify file to operate upon"), 0}, 36 N_("specify file to operate upon"), 0},
37 37
38 {N_("MIME editing options"), 0, NULL, OPTION_DOC, NULL, 5}, 38 #define GRID 10
39 {N_("MIME editing options"), 0, NULL, OPTION_DOC, NULL, GRID},
39 {"compose", ARG_COMPOSE, N_("BOOL"), OPTION_ARG_OPTIONAL, 40 {"compose", ARG_COMPOSE, N_("BOOL"), OPTION_ARG_OPTIONAL,
40 N_("compose the MIME message (default)"), 6}, 41 N_("compose the MIME message (default)"), GRID+1},
41 {"nocompose", ARG_NOCOMPOSE, NULL, OPTION_HIDDEN, "", 6}, 42 {"nocompose", ARG_NOCOMPOSE, NULL, OPTION_HIDDEN, "", GRID+1},
42 43 #undef GRID
43 {N_("Listing options"), 0, NULL, OPTION_DOC, NULL, 0}, 44 #define GRID 20
45 {N_("Listing options"), 0, NULL, OPTION_DOC, NULL, GRID},
44 {"list", ARG_LIST, N_("BOOL"), OPTION_ARG_OPTIONAL, 46 {"list", ARG_LIST, N_("BOOL"), OPTION_ARG_OPTIONAL,
45 N_("list the table of contents"), 11 }, 47 N_("list the table of contents"), GRID+1 },
46 {"nolist", ARG_NOLIST, NULL, OPTION_HIDDEN, "", 11 }, 48 {"nolist", ARG_NOLIST, NULL, OPTION_HIDDEN, "", GRID+1 },
47 {"headers", ARG_HEADER, N_("BOOL"), OPTION_ARG_OPTIONAL, 49 {"headers", ARG_HEADER, N_("BOOL"), OPTION_ARG_OPTIONAL,
48 N_("print the banner above the listing"), 12}, 50 N_("print the banner above the listing"), GRID+1 },
49 {"noheaders", ARG_NOHEADERS, NULL, OPTION_HIDDEN, "", 12 }, 51 {"noheaders", ARG_NOHEADERS, NULL, OPTION_HIDDEN, "", GRID+1 },
50 {"realsize", ARG_REALSIZE, N_("BOOL"), OPTION_ARG_OPTIONAL, 52 {"realsize", ARG_REALSIZE, N_("BOOL"), OPTION_ARG_OPTIONAL,
51 N_("list the decoded sizes"), 12}, 53 N_("list the decoded sizes"), GRID+1 },
52 {"norealsize", ARG_NOREALSIZE, NULL, OPTION_HIDDEN, "", 12 }, 54 {"norealsize", ARG_NOREALSIZE, NULL, OPTION_HIDDEN, "", GRID+1 },
53 55 #undef GRID
54 {N_("Display options"), 0, NULL, OPTION_DOC, NULL, 20}, 56 #define GRID 40
57 {N_("Display options"), 0, NULL, OPTION_DOC, NULL, GRID},
55 {"show", ARG_SHOW, N_("BOOL"), OPTION_ARG_OPTIONAL, 58 {"show", ARG_SHOW, N_("BOOL"), OPTION_ARG_OPTIONAL,
56 N_("display the contents of the messages"), 21}, 59 N_("display the contents of the messages"), GRID+1},
57 {"noshow", ARG_NOSHOW, NULL, OPTION_HIDDEN, "", 21 }, 60 {"noshow", ARG_NOSHOW, NULL, OPTION_HIDDEN, "", GRID+1 },
58 {"serialonly", ARG_SERIALONLY, N_("BOOL"), OPTION_ARG_OPTIONAL, 61 {"serialonly", ARG_SERIALONLY, N_("BOOL"), OPTION_ARG_OPTIONAL,
59 N_("* display messages serially"), 22}, 62 N_("* display messages serially"), GRID+1},
60 {"noserialonly", ARG_NOSERIALONLY, NULL, OPTION_HIDDEN, "", 22 }, 63 {"noserialonly", ARG_NOSERIALONLY, NULL, OPTION_HIDDEN, "", GRID+1 },
61 {"form", ARG_FORM, N_("FILE"), 0, 64 {"form", ARG_FORM, N_("FILE"), 0,
62 N_("read mhl format from FILE"), 22}, 65 N_("read mhl format from FILE"), GRID+1},
63 {"pause", ARG_PAUSE, N_("BOOL"), OPTION_ARG_OPTIONAL, 66 {"pause", ARG_PAUSE, N_("BOOL"), OPTION_ARG_OPTIONAL,
64 N_("pause prior to displaying content"), 22}, 67 N_("pause prior to displaying content"), GRID+1},
65 {"nopause", ARG_NOPAUSE, NULL, OPTION_HIDDEN, "", 22 }, 68 {"nopause", ARG_NOPAUSE, NULL, OPTION_HIDDEN, "", GRID+1 },
66 69 #undef GRID
67 {N_("Saving options"), 0, NULL, OPTION_DOC, NULL, 30}, 70 #define GRID 50
71 {N_("Saving options"), 0, NULL, OPTION_DOC, NULL, GRID},
68 {"store", ARG_STORE, N_("BOOL"), OPTION_ARG_OPTIONAL, 72 {"store", ARG_STORE, N_("BOOL"), OPTION_ARG_OPTIONAL,
69 N_("store the contents of the messages on disk"), 31}, 73 N_("write extracted message parts to disk"), GRID+1},
70 {"nostore", ARG_NOSTORE, NULL, OPTION_HIDDEN, "", 31 }, 74 {"nostore", ARG_NOSTORE, NULL, OPTION_HIDDEN, "", GRID+1 },
71 {"auto", ARG_AUTO, N_("BOOL"), OPTION_ARG_OPTIONAL, 75 {"auto", ARG_AUTO, N_("BOOL"), OPTION_ARG_OPTIONAL,
72 N_("use filenames from the content headers"), 31}, 76 N_("use filenames from the content headers"), GRID+1},
73 {"noauto", ARG_NOAUTO, NULL, OPTION_HIDDEN, "", 31 }, 77 {"noauto", ARG_NOAUTO, NULL, OPTION_HIDDEN, "", GRID+1 },
74 {"charset", ARG_CHARSET, N_("NAME"), 0, 78 {"charset", ARG_CHARSET, N_("NAME"), 0,
75 N_("use this charset to represent attachment file names"), 31}, 79 N_("use this charset to represent attachment file names"), GRID+1},
76 80 #undef GRID
77 {N_("Other options"), 0, NULL, OPTION_DOC, NULL, 40}, 81 #define GRID 60
82 {N_("Other options"), 0, NULL, OPTION_DOC, NULL, GRID},
78 {"part", ARG_PART, N_("PART"), 0, 83 {"part", ARG_PART, N_("PART"), 0,
79 N_("limit the scope of the operation to the given part"), 41}, 84 N_("limit the scope of the operation to the given part"), GRID+1},
80 {"type", ARG_TYPE, N_("CONTENT"), 0, 85 {"type", ARG_TYPE, N_("CONTENT"), 0,
81 N_("operate on message part with given multipart content"), 41 }, 86 N_("operate on message part with given multipart content"), GRID+1 },
82 {"verbose", ARG_VERBOSE, N_("BOOL"), OPTION_ARG_OPTIONAL, 87 {"verbose", ARG_VERBOSE, N_("BOOL"), OPTION_ARG_OPTIONAL,
83 N_("print additional information"), 41 }, 88 N_("print additional information"), GRID+1 },
84 {"noverbose", ARG_NOVERBOSE, NULL, OPTION_HIDDEN, "", 41 }, 89 {"noverbose", ARG_NOVERBOSE, NULL, OPTION_HIDDEN, "", GRID+1 },
85 {"quiet", ARG_QUIET, 0, 0, 90 {"quiet", ARG_QUIET, 0, 0,
86 N_("be quiet")}, 91 N_("be quiet"), GRID+1},
92 #undef GRID
87 {NULL} 93 {NULL}
88 }; 94 };
89 95
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 21
22 static char doc[] = N_("GNU MH mhparam")"\v" 22 static char doc[] = N_("GNU MH mhparam")"\v"
23 N_("Use -help to obtain the list of traditional MH options."); 23 N_("Use -help to obtain the list of traditional MH options.");
24 static char args_doc[] = N_("[components]"); 24 static char args_doc[] = N_("[COMPONENT [COMPONENT...]]");
25 25
26 /* GNU options */ 26 /* GNU options */
27 static struct argp_option options[] = { 27 static struct argp_option options[] = {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 21
22 static char doc[] = N_("GNU MH mhpath")"\v" 22 static char doc[] = N_("GNU MH mhpath")"\v"
23 N_("Use -help to obtain the list of traditional MH options."); 23 N_("Use -help to obtain the list of traditional MH options.");
24 static char args_doc[] = N_("[+folder] [msgs]"); 24 static char args_doc[] = N_("[+FOLDER] [MSGLIST]");
25 25
26 /* GNU options */ 26 /* GNU options */
27 static struct argp_option options[] = { 27 static struct argp_option options[] = {
......
...@@ -37,67 +37,80 @@ letter or followed by a colon, e.g.:\n\ ...@@ -37,67 +37,80 @@ letter or followed by a colon, e.g.:\n\
37 --user-agent: Mailutils\n\ 37 --user-agent: Mailutils\n\
38 \n\ 38 \n\
39 Use -help to obtain a list of traditional MH options."); 39 Use -help to obtain a list of traditional MH options.");
40 static char args_doc[] = N_("[messages]"); 40 static char args_doc[] = N_("[MSGLIST]");
41 41
42 /* GNU options */ 42 /* GNU options */
43 static struct argp_option options[] = { 43 static struct argp_option options[] = {
44 {"folder", ARG_FOLDER, N_("FOLDER"), 0, 44 #define GRID 10
45 N_("specify folder to operate upon"), 0}, 45 { "folder", ARG_FOLDER, N_("FOLDER"), 0,
46 46 N_("specify folder to operate upon"), GRID },
47 {N_("Specifying search patterns:"), 0, NULL, OPTION_DOC, NULL, 0}, 47 #undef GRID
48 {"component", ARG_COMPONENT, N_("FIELD"), 0, 48
49 N_("search the named header field"), 1}, 49 #define GRID 20
50 {"pattern", ARG_PATTERN, N_("STRING"), 0, 50 { N_("Search patterns"), 0, NULL, OPTION_DOC, NULL, GRID },
51 N_("set pattern to look for"), 1}, 51 { "component", ARG_COMPONENT, N_("FIELD"), 0,
52 {"search", 0, NULL, OPTION_ALIAS, NULL, 1}, 52 N_("search the named header field"), GRID+1},
53 {"cflags", ARG_CFLAGS, N_("STRING"), 0, 53 { "pattern", ARG_PATTERN, N_("STRING"), 0,
54 N_("flags controlling the type of regular expressions. STRING must consist of one or more of the following letters: B=basic, E=extended, I=ignore case, C=case sensitive. Default is \"EI\". The flags remain in effect until the next occurrence of --cflags option. The option must occur right before --pattern or --component option (or its alias).") }, 54 N_("set pattern to look for"), GRID+1 },
55 {"cc", ARG_CC, N_("STRING"), 0, 55 { "search", 0, NULL, OPTION_ALIAS, NULL, GRID+1 },
56 N_("same as --component cc --pattern STRING"), 1}, 56 { "cflags", ARG_CFLAGS, N_("STRING"), 0,
57 {"date", ARG_DATE, N_("STRING"), 0, 57 N_("flags controlling the type of regular expressions. STRING must consist of one or more of the following letters: B=basic, E=extended, I=ignore case, C=case sensitive. Default is \"EI\". The flags remain in effect until the next occurrence of --cflags option. The option must occur right before --pattern or --component option (or its alias)."), GRID+1 },
58 N_("same as --component date --pattern STRING"), 1}, 58 { "cc", ARG_CC, N_("STRING"), 0,
59 {"from", ARG_FROM, N_("STRING"), 0, 59 N_("same as --component cc --pattern STRING"), GRID+1 },
60 N_("same as --component from --pattern STRING"), 1}, 60 { "date", ARG_DATE, N_("STRING"), 0,
61 {"subject", ARG_SUBJECT, N_("STRING"), 0, 61 N_("same as --component date --pattern STRING"), GRID+1 },
62 N_("same as --component subject --pattern STRING"), 1}, 62 { "from", ARG_FROM, N_("STRING"), 0,
63 {"to", ARG_TO, N_("STRING"), 0, 63 N_("same as --component from --pattern STRING"), GRID+1 },
64 N_("same as --component to --pattern STRING"), 1}, 64 { "subject", ARG_SUBJECT, N_("STRING"), 0,
65 65 N_("same as --component subject --pattern STRING"), GRID+1 },
66 {N_("Date constraint operations:"), 0, NULL, OPTION_DOC, NULL, 1}, 66 { "to", ARG_TO, N_("STRING"), 0,
67 {"datefield",ARG_DATEFIELD, N_("STRING"), 0, 67 N_("same as --component to --pattern STRING"), GRID+1 },
68 N_("search in the named date header field (default is `Date:')"), 2}, 68 #undef GRID
69 {"after", ARG_AFTER, N_("DATE"), 0, 69
70 N_("match messages after the given date"), 2}, 70 #define GRID 30
71 {"before", ARG_BEFORE, N_("DATE"), 0, 71 { N_("Date constraint operations"), 0, NULL, OPTION_DOC, NULL, GRID },
72 N_("match messages before the given date"), 2}, 72 { "datefield",ARG_DATEFIELD, N_("STRING"), 0,
73 73 N_("search in the named date header field (default is `Date:')"), GRID+1 },
74 {N_("Logical operations and grouping:"), 0, NULL, OPTION_DOC, NULL, 2}, 74 { "after", ARG_AFTER, N_("DATE"), 0,
75 {"and", ARG_AND, NULL, 0, 75 N_("match messages after the given date"), GRID+1 },
76 N_("logical AND (default)"), 3 }, 76 { "before", ARG_BEFORE, N_("DATE"), 0,
77 {"or", ARG_OR, NULL, 0, 77 N_("match messages before the given date"), GRID+1 },
78 N_("logical OR"), 3 }, 78 #undef GRID
79 {"not", ARG_NOT, NULL, 0, 79
80 N_("logical NOT"), 3}, 80 #define GRID 40
81 {"lbrace", ARG_LBRACE, NULL, 0, 81 { N_("Logical operations and grouping"), 0, NULL, OPTION_DOC, NULL, GRID },
82 N_("open group"), 3}, 82 { "and", ARG_AND, NULL, 0,
83 {"(", 0, NULL, OPTION_ALIAS, NULL, 3}, 83 N_("logical AND (default)"), GRID+1 },
84 {"rbrace", ARG_RBRACE, NULL, 0, 84 { "or", ARG_OR, NULL, 0,
85 N_("close group"), 3}, 85 N_("logical OR"), GRID+1 },
86 {")", 0, NULL, OPTION_ALIAS, NULL, 3}, 86 { "not", ARG_NOT, NULL, 0,
87 87 N_("logical NOT"), GRID+1 },
88 {N_("Operations over the selected messages:"), 0, NULL, OPTION_DOC, NULL, 3}, 88 { "lbrace", ARG_LBRACE, NULL, 0,
89 {"list", ARG_LIST, N_("BOOL"), OPTION_ARG_OPTIONAL, 89 N_("open group"), GRID+1 },
90 N_("list the numbers of the selected messages (default)"), 4}, 90 { "(", 0, NULL, OPTION_ALIAS, NULL, GRID+1 },
91 {"nolist", ARG_NOLIST, NULL, OPTION_HIDDEN, "", 4 }, 91 { "rbrace", ARG_RBRACE, NULL, 0,
92 {"sequence", ARG_SEQUENCE, N_("NAME"), 0, 92 N_("close group"), GRID+1},
93 N_("add matching messages to the given sequence"), 4}, 93 { ")", 0, NULL, OPTION_ALIAS, NULL, GRID+1 },
94 {"public", ARG_PUBLIC, N_("BOOL"), OPTION_ARG_OPTIONAL, 94 #undef GRID
95 N_("create public sequence"), 4}, 95
96 {"nopublic", ARG_NOPUBLIC, NULL, OPTION_HIDDEN, "", 4 }, 96 #define GRID 50
97 {"zero", ARG_ZERO, N_("BOOL"), OPTION_ARG_OPTIONAL, 97 { N_("Operations over the selected messages"), 0, NULL, OPTION_DOC, NULL,
98 N_("empty the sequence before adding messages"), 4}, 98 GRID },
99 {"nozero", ARG_NOZERO, NULL, OPTION_HIDDEN, "", 4 }, 99 { "list", ARG_LIST, N_("BOOL"), OPTION_ARG_OPTIONAL,
100 {NULL}, 100 N_("list the numbers of the selected messages (default)"), GRID+1 },
101 { "nolist", ARG_NOLIST, NULL, OPTION_HIDDEN, "", GRID+1 },
102 { "sequence", ARG_SEQUENCE, N_("NAME"), 0,
103 N_("add matching messages to the given sequence"), GRID+1 },
104 { "public", ARG_PUBLIC, N_("BOOL"), OPTION_ARG_OPTIONAL,
105 N_("create public sequence"), GRID+1 },
106 { "nopublic", ARG_NOPUBLIC, NULL, OPTION_HIDDEN, "", GRID+1 },
107 { "zero", ARG_ZERO, N_("BOOL"), OPTION_ARG_OPTIONAL,
108 N_("empty the sequence before adding messages"), GRID+1 },
109 { "nozero", ARG_NOZERO, NULL, OPTION_HIDDEN, "", GRID+1 },
110 #undef GRID
111
112 { NULL }
113
101 }; 114 };
102 115
103 /* Traditional MH options */ 116 /* Traditional MH options */
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
27 static char doc[] = N_("GNU MH refile")"\v" 27 static char doc[] = N_("GNU MH refile")"\v"
28 N_("Options marked with `*' are not yet implemented.\n\ 28 N_("Options marked with `*' are not yet implemented.\n\
29 Use -help to obtain the list of traditional MH options."); 29 Use -help to obtain the list of traditional MH options.");
30 static char args_doc[] = N_("messages folder [folder...]"); 30 static char args_doc[] = N_("MSGLIST FOLDER [FOLDER...]");
31 31
32 /* GNU options */ 32 /* GNU options */
33 static struct argp_option options[] = { 33 static struct argp_option options[] = {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 static char doc[] = N_("GNU MH repl")"\v" 25 static char doc[] = N_("GNU MH repl")"\v"
26 N_("Options marked with `*' are not yet implemented.\n\ 26 N_("Options marked with `*' are not yet implemented.\n\
27 Use -help to obtain the list of traditional MH options."); 27 Use -help to obtain the list of traditional MH options.");
28 static char args_doc[] = N_("[+folder] [msg]"); 28 static char args_doc[] = N_("[+FOLDER] [MESSAGE]");
29 29
30 30
31 /* GNU options */ 31 /* GNU options */
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
30 30
31 static char doc[] = N_("GNU MH rmf")"\v" 31 static char doc[] = N_("GNU MH rmf")"\v"
32 N_("Use -help to obtain the list of traditional MH options."); 32 N_("Use -help to obtain the list of traditional MH options.");
33 static char args_doc[] = N_("[+folder]"); 33 static char args_doc[] = N_("[+FOLDER]");
34 34
35 /* GNU options */ 35 /* GNU options */
36 static struct argp_option options[] = { 36 static struct argp_option options[] = {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 21
22 static char doc[] = N_("GNU MH rmm")"\v" 22 static char doc[] = N_("GNU MH rmm")"\v"
23 N_("Use -help to obtain the list of traditional MH options."); 23 N_("Use -help to obtain the list of traditional MH options.");
24 static char args_doc[] = N_("[+folder] [msgs]"); 24 static char args_doc[] = N_("[+FOLDER] [MSGLIST]");
25 25
26 /* GNU options */ 26 /* GNU options */
27 static struct argp_option options[] = { 27 static struct argp_option options[] = {
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
28 28
29 static char doc[] = N_("GNU MH scan")"\v" 29 static char doc[] = N_("GNU MH scan")"\v"
30 N_("Use -help to obtain the list of traditional MH options."); 30 N_("Use -help to obtain the list of traditional MH options.");
31 static char args_doc[] = N_("[+folder] [msgs]"); 31 static char args_doc[] = N_("[+FOLDER] [MSGLIST]");
32 32
33 /* GNU options */ 33 /* GNU options */
34 static struct argp_option options[] = { 34 static struct argp_option options[] = {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 static char doc[] = N_("GNU MH send")"\v" 26 static char doc[] = N_("GNU MH send")"\v"
27 N_("Options marked with `*' are not yet implemented.\n\ 27 N_("Options marked with `*' are not yet implemented.\n\
28 Use -help to obtain the list of traditional MH options."); 28 Use -help to obtain the list of traditional MH options.");
29 static char args_doc[] = N_("file [file...]"); 29 static char args_doc[] = N_("FILE [FILE...]");
30 30
31 /* GNU options */ 31 /* GNU options */
32 static struct argp_option options[] = { 32 static struct argp_option options[] = {
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 24
25 static char doc[] = N_("GNU MH sortm")"\v" 25 static char doc[] = N_("GNU MH sortm")"\v"
26 N_("Use -help to obtain the list of traditional MH options."); 26 N_("Use -help to obtain the list of traditional MH options.");
27 static char args_doc[] = N_("[msgs]"); 27 static char args_doc[] = N_("[MSGLIST]");
28 28
29 #define ARG_QUICKSORT 1024 29 #define ARG_QUICKSORT 1024
30 #define ARG_SHELL 1025 30 #define ARG_SHELL 1025
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 19
20 static char doc[] = N_("GNU MH whom")"\v" 20 static char doc[] = N_("GNU MH whom")"\v"
21 N_("Use -help to obtain the list of traditional MH options."); 21 N_("Use -help to obtain the list of traditional MH options.");
22 static char args_doc[] = "[file]"; 22 static char args_doc[] = "[FILE]";
23 23
24 /* GNU options */ 24 /* GNU options */
25 static struct argp_option options[] = { 25 static struct argp_option options[] = {
......