summaryrefslogtreecommitdiff
path: root/mh/repl.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2003-01-11 22:23:32 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2003-01-11 22:23:32 +0000
commit27a83dd04472ee621ba7fbdd5562d4301073154b (patch)
treecceab1226af875b4f66901dd45913b65e5903afd /mh/repl.c
parent6ccd6964951fcd7f835cc60cab1e91e2ad1f2544 (diff)
downloadmailutils-27a83dd04472ee621ba7fbdd5562d4301073154b.tar.gz
mailutils-27a83dd04472ee621ba7fbdd5562d4301073154b.tar.bz2
Added --build option. Implemented --[no]draftfolder --[no]query.
Diffstat (limited to 'mh/repl.c')
-rw-r--r--mh/repl.c39
1 files changed, 33 insertions, 6 deletions
diff --git a/mh/repl.c b/mh/repl.c
index bd2a0b28f..b7d11d040 100644
--- a/mh/repl.c
+++ b/mh/repl.c
@@ -36,8 +36,12 @@ static char args_doc[] = N_("[+folder] [msg]");
static struct argp_option options[] = {
{"annotate", 'a', N_("BOOL"), OPTION_ARG_OPTIONAL,
N_("Add Replied: header to the message being replied to")},
+ {"build", 'b', 0, 0,
+ N_("Build the draft and quit immediately.")},
{"draftfolder", 'd', N_("FOLDER"), 0,
- N_("Invoke the draftfolder facility")},
+ N_("Specify the folder for message drafts")},
+ {"nodraftfolder", ARG_NODRAFTFOLDER, 0, 0,
+ N_("Undo the effect of the last --draftfolder option")},
{"draftmessage" , 'm', N_("MSG"), 0,
N_("Invoke the draftmessage facility")},
{"cc", 'c', "{all|to|cc|me}", 0,
@@ -51,8 +55,10 @@ static struct argp_option options[] = {
{"filter", ARG_FILTER, N_("PROG"), 0,
N_("Set the filter program to preprocess the body of the message being replied")},
{"form", 'F', N_("FILE"), 0, N_("Read format from given file")},
- {"inplace", ARG_INPLACE, N_("BOOL"), 0, N_("Annotate the message in place")},
- {"query", ARG_QUERY, N_("BOOL"), 0, N_("Query for addresses to place in To: and Cc: lists")},
+ {"inplace", ARG_INPLACE, N_("BOOL"), OPTION_ARG_OPTIONAL,
+ N_("Annotate the message in place")},
+ {"query", ARG_QUERY, N_("BOOL"), OPTION_ARG_OPTIONAL,
+ N_("Query for addresses to place in To: and Cc: lists")},
{"width", 'w', N_("NUMBER"), 0, N_("Set output width")},
{"whatnowproc", ARG_WHATNOWPROC, N_("PROG"), 0,
N_("Set the replacement for whatnow program")},
@@ -63,6 +69,7 @@ static struct argp_option options[] = {
/* Traditional MH options */
struct mh_option mh_option[] = {
{"annotate", 1, 'a', MH_OPT_BOOL },
+ {"build", 1, 'b', },
{"cc", 1, 'c', MH_OPT_ARG, "all/to/cc/me"},
{"nocc", 3, 'n', MH_OPT_ARG, "all/to/cc/me"},
{"form", 4, 'F', MH_OPT_ARG, "formatfile"},
@@ -94,15 +101,26 @@ static char *format_str =
static mh_format_t format;
static int width = 80;
+static char *draft_folder;
static char *draft_file;
static mh_msgset_t msgset;
static mailbox_t mbox;
+static int build_only = 0; /* --build flag */
+static int query_mode = 0; /* --query flag */
static int
opt_handler (int key, char *arg, void *unused)
{
switch (key)
{
+ case 'b':
+ build_only = 1;
+ break;
+
+ case 'd':
+ draft_folder = arg;
+ break;
+
case '+':
case 'f':
current_folder = arg;
@@ -121,8 +139,15 @@ opt_handler (int key, char *arg, void *unused)
}
break;
+ case ARG_NODRAFTFOLDER:
+ draft_folder = NULL;
+ break;
+
+ case ARG_QUERY:
+ query_mode = is_true (arg);
+ break;
+
case 'a':
- case 'd':
case 'm':
case 'c':
case 'n':
@@ -131,7 +156,6 @@ opt_handler (int key, char *arg, void *unused)
case ARG_FCC:
case ARG_FILTER:
case ARG_INPLACE:
- case ARG_QUERY:
case ARG_WHATNOWPROC:
mh_error (_("option is not yet implemented"));
exit (1);
@@ -190,6 +214,9 @@ main (int argc, char **argv)
exit (1);
}
+ if (!draft_folder)
+ draft_folder = mh_global_profile_get ("Draft-Folder", mu_path_folder_dir);
+
mbox = mh_open_folder (current_folder, 0);
mh_msgset_parse (mbox, &msgset, argc - index, argv + index, "cur");
if (msgset.count != 1)
@@ -198,7 +225,7 @@ main (int argc, char **argv)
return 1;
}
- draft_file = mh_expand_name ("draft", 0);
+ draft_file = mh_expand_name (draft_folder, "reply", 0);
make_draft ();

Return to:

Send suggestions and report system problems to the System administrator.