bug-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-mailutils] Hit another wall (repl)


From: Sergey Poznyakoff
Subject: Re: [bug-mailutils] Hit another wall (repl)
Date: Thu, 08 Dec 2005 02:31:36 EET

Sergey Poznyakoff <address@hidden> wrote:

> However, MH-E itself expects to find the reply file in $HOME/Mail

It is not quite so. Indeed, MH-E expects to find the reply file in
$HOME/Mail, but it invokes 'repl' with -nodraftfolder option to make
sure it ignores Draft-Folder variable. A bug was introduced to Mailutils
repl that caused it to ignore the option. The following patch should fix
that (the patch also fixes comp and forw, that showed the same
behavior). Thanks for helping find the bug.

Regards,
Sergey

Index: mh/comp.c
===================================================================
RCS file: /cvsroot/mailutils/mailutils/mh/comp.c,v
retrieving revision 1.18
diff -p -u -r1.18 comp.c
--- mh/comp.c   27 Aug 2005 11:37:42 -0000      1.18
+++ mh/comp.c   8 Dec 2005 00:23:52 -0000
@@ -86,6 +86,11 @@ opt_handler (int key, char *arg, void *u
 {
   switch (key)
     {
+    case ARGP_KEY_INIT:
+      wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
+                                                   mu_folder_directory ());
+      break;
+
     case ARG_BUILD:
       build_only = 1;
       break;
@@ -208,10 +213,6 @@ main (int argc, char **argv)
   mu_argp_init (program_version, NULL);
   mh_argp_parse (&argc, &argv, 0, options, mh_option, args_doc, doc,
                 opt_handler, NULL, &index);
-
-  if (!wh_env.draftfolder)
-    wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
-                                               mu_folder_directory ());
 
   wh_env.file = mh_expand_name (wh_env.draftfolder, "comp", 0);
   if (!wh_env.draftfile)
Index: mh/forw.c
===================================================================
RCS file: /cvsroot/mailutils/mailutils/mh/forw.c,v
retrieving revision 1.17
diff -p -u -r1.17 forw.c
--- mh/forw.c   29 Nov 2005 17:41:10 -0000      1.17
+++ mh/forw.c   8 Dec 2005 00:23:53 -0000
@@ -121,6 +121,11 @@ opt_handler (int key, char *arg, void *u
 {
   switch (key)
     {
+    case ARGP_KEY_INIT:
+      wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
+                                                   mu_folder_directory ());
+      break;
+
     case ARG_ANNOTATE:
       annotate = is_true (arg);
       break;
@@ -427,10 +432,6 @@ main (int argc, char **argv)
   mbox = mh_open_folder (current_folder, 0);
   mh_msgset_parse (mbox, &msgset, argc, argv, "cur");
   
-  if (!wh_env.draftfolder)
-    wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
-                                               mu_folder_directory ());
-
   wh_env.file = mh_expand_name (wh_env.draftfolder, "forw", 0);
   if (!wh_env.draftfile)
     wh_env.draftfile = mh_expand_name (wh_env.draftfolder, "draft", 0);
Index: mh/repl.c
===================================================================
RCS file: /cvsroot/mailutils/mailutils/mh/repl.c,v
retrieving revision 1.37
diff -p -u -r1.37 repl.c
--- mh/repl.c   17 Sep 2005 12:23:38 -0000      1.37
+++ mh/repl.c   8 Dec 2005 00:23:53 -0000
@@ -142,6 +142,11 @@ opt_handler (int key, char *arg, void *u
   
   switch (key)
     {
+    case ARGP_KEY_INIT:
+      wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
+                                                 mu_folder_directory ());
+      break;
+      
     case ARG_ANNOTATE:
       annotate = is_true (arg);
       break;
@@ -376,6 +381,7 @@ main (int argc, char **argv)
   mu_init_nls ();
 
   mu_argp_init (program_version, NULL);
+
   mh_argp_parse (&argc, &argv, 0, options, mh_option, args_doc, doc,
                 opt_handler, NULL, &index);
   if (mh_format_parse (format_str, &format))
@@ -384,10 +390,6 @@ main (int argc, char **argv)
       exit (1);
     }
 
-  if (!wh_env.draftfolder)
-    wh_env.draftfolder = mh_global_profile_get ("Draft-Folder",
-                                               mu_folder_directory ());
-  
   mbox = mh_open_folder (current_folder, 0);
   mh_msgset_parse (mbox, &msgset, argc - index, argv + index, "cur");
   if (msgset.count != 1)



   




reply via email to

[Prev in Thread] Current Thread [Next in Thread]