commit-mailutils
[Top][All Lists]
Advanced

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

[SCM] GNU Mailutils branch, master, updated. mu-1-2-90-separate-argp-cfg


From: Sergey Poznyakoff
Subject: [SCM] GNU Mailutils branch, master, updated. mu-1-2-90-separate-argp-cfg-329-g8619a1c
Date: Tue, 25 Aug 2009 07:32:17 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mailutils".

http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=8619a1cb3b5a4b84b365571b711cf792e12ab620

The branch, master has been updated
       via  8619a1cb3b5a4b84b365571b711cf792e12ab620 (commit)
      from  0c606c74e0195d00bb1410114e7b871c08c2a7f0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8619a1cb3b5a4b84b365571b711cf792e12ab620
Author: Sergey Poznyakoff <address@hidden>
Date:   Tue Aug 25 10:31:59 2009 +0300

    Change error messages to comply with the GNU standards.
    
       The string MESSAGE should not begin with a capital letter when it
       follows a program name and/or file name, because that isn't the
       beginning of a sentence.  (The sentence conceptually starts at the
       beginning of the line.)  Also, it should not end with a period.
    
    * include/mailutils/diag.h (mu_diag_funcall): New prototype.
    * mailbox/diag.c: New function.
    
    * comsat/action.c, comsat/comsat.c, comsat/oldcfg.c,
    config/mailutils-config.c, configure.ac, dotlock/dotlock.c,
    frm/common.c, frm/from.c, guimb/collect.c, guimb/main.c,
    guimb/util.c, imap4d/auth_gsasl.c, imap4d/auth_gss.c, imap4d/bye.c,
    imap4d/close.c, imap4d/imap4d.c, imap4d/login.c, imap4d/preauth.c,
    imap4d/signal.c, imap4d/starttls.c, imap4d/util.c, lib/mailcap.c,
    lib/tcpwrap.c, libmu_argp/mu_argp.c, libmu_auth/ldap.c,
    libmu_auth/radius.c, libmu_auth/sql.c, libmu_auth/tls.c,
    libmu_cfg/acl.c, libmu_cfg/common.c, libmu_cfg/init.c,
    libmu_cfg/ldap.c, libmu_cfg/sql.c, libmu_sieve/actions.c,
    libmu_sieve/comparator.c, libmu_sieve/extensions/moderator.c,
    libmu_sieve/prog.c, libmu_sieve/sieve.l, libproto/imap/folder.c,
    libproto/mbox/mbox.c, maidag/deliver.c, maidag/lmtp.c,
    maidag/maidag.c, maidag/mailquota.c, maidag/mailtmp.c,
    maidag/script.c, mail/alias.c, mail/cd.c, mailbox/cfg_lexer.l,
    mailbox/cfg_parser.y, mailbox/file_stream.c, mailbox/gocs.c,
    mailbox/msrv.c, mailbox/mutil.c, mailbox/registrar.c,
    messages/messages.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c,
    mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_format.c, mh/mh_init.c,
    mh/mh_list.c, mh/mh_msgset.c, mh/mh_whatnow.c, mh/mh_whom.c,
    mh/mhl.c, mh/mhn.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c,
    mh/scan.c, mh/send.c, mimeview/mimetypes.l, mimeview/mimeview.c,
    movemail/movemail.c, pop3d/apop.c, pop3d/bulletin.c, pop3d/extra.c,
    pop3d/lock.c, pop3d/logindelay.c, pop3d/pop3d.c, pop3d/popauth.c,
    pop3d/quit.c, pop3d/signal.c, pop3d/user.c, readmsg/readmsg.c,
    sieve/sieve.c: Fix error messages.

-----------------------------------------------------------------------

Summary of changes:
 comsat/action.c                    |    8 +++---
 comsat/comsat.c                    |   38 ++++++++++++++------------
 comsat/oldcfg.c                    |    2 +-
 config/mailutils-config.c          |    2 +-
 configure.ac                       |    2 +-
 dotlock/dotlock.c                  |   13 ++++-----
 frm/common.c                       |   16 +++++-----
 frm/from.c                         |    4 +-
 guimb/collect.c                    |   14 +++++-----
 guimb/main.c                       |    4 +-
 guimb/util.c                       |    6 ++--
 imap4d/auth_gsasl.c                |    9 +++---
 imap4d/auth_gss.c                  |    6 ++--
 imap4d/bye.c                       |   24 ++++++++--------
 imap4d/close.c                     |    6 +---
 imap4d/imap4d.c                    |   31 +++++++++------------
 imap4d/login.c                     |    6 ++--
 imap4d/preauth.c                   |   26 +++++++++---------
 imap4d/signal.c                    |    4 +-
 imap4d/starttls.c                  |    4 +-
 imap4d/util.c                      |   12 ++++----
 include/mailutils/diag.h           |    3 ++
 lib/mailcap.c                      |    4 +-
 lib/tcpwrap.c                      |    8 +++---
 libmu_argp/mu_argp.c               |    6 ++--
 libmu_auth/ldap.c                  |   21 +++++++-------
 libmu_auth/radius.c                |   10 +++---
 libmu_auth/sql.c                   |   18 ++++++------
 libmu_auth/tls.c                   |    4 +-
 libmu_cfg/acl.c                    |    4 +-
 libmu_cfg/common.c                 |    2 +-
 libmu_cfg/init.c                   |    6 ++--
 libmu_cfg/ldap.c                   |    4 +-
 libmu_cfg/sql.c                    |    4 +-
 libmu_sieve/actions.c              |    2 +-
 libmu_sieve/comparator.c           |    4 +-
 libmu_sieve/extensions/moderator.c |    6 ++--
 libmu_sieve/prog.c                 |    4 +-
 libmu_sieve/sieve.l                |    9 +++---
 libproto/imap/folder.c             |   10 +++---
 libproto/mbox/mbox.c               |   22 +++++++-------
 maidag/deliver.c                   |   20 +++++++-------
 maidag/lmtp.c                      |   14 +++++-----
 maidag/maidag.c                    |   14 +++++-----
 maidag/mailquota.c                 |   16 +++++-----
 maidag/mailtmp.c                   |   12 ++++----
 maidag/script.c                    |    7 +---
 mail/alias.c                       |    4 +-
 mail/cd.c                          |    2 +-
 mailbox/cfg_lexer.l                |    4 +-
 mailbox/cfg_parser.y               |    6 ++--
 mailbox/diag.c                     |   36 ++++++++++++++++++-------
 mailbox/file_stream.c              |    2 +-
 mailbox/gocs.c                     |   20 +++++++-------
 mailbox/msrv.c                     |   16 +++++-----
 mailbox/mutil.c                    |    2 +-
 mailbox/registrar.c                |    4 +-
 messages/messages.c                |   12 ++++----
 mh/folder.c                        |   21 +++++++-------
 mh/forw.c                          |    8 +++---
 mh/inc.c                           |   14 +++++-----
 mh/mark.c                          |    5 ++-
 mh/mh_ctx.c                        |    4 +-
 mh/mh_fmtgram.y                    |    4 +-
 mh/mh_format.c                     |    4 +-
 mh/mh_init.c                       |   52 ++++++++++++++++++------------------
 mh/mh_list.c                       |   24 +++++++++-------
 mh/mh_msgset.c                     |    8 +++---
 mh/mh_whatnow.c                    |    6 ++--
 mh/mh_whom.c                       |    6 ++--
 mh/mhl.c                           |   16 +++++-----
 mh/mhn.c                           |   32 +++++++++++-----------
 mh/pick.c                          |    9 +++---
 mh/refile.c                        |   16 +++++-----
 mh/repl.c                          |   10 +++---
 mh/rmf.c                           |    9 +++---
 mh/scan.c                          |    4 +-
 mh/send.c                          |   36 ++++++++++++------------
 mimeview/mimetypes.l               |    4 +-
 mimeview/mimeview.c                |   10 +++---
 movemail/movemail.c                |   44 +++++++++++++++---------------
 pop3d/apop.c                       |   15 ++++++----
 pop3d/bulletin.c                   |   20 +++++++-------
 pop3d/extra.c                      |   26 +++++++++---------
 pop3d/lock.c                       |    4 +-
 pop3d/logindelay.c                 |   16 ++++++-----
 pop3d/pop3d.c                      |   14 +++++-----
 pop3d/popauth.c                    |   36 +++++++++++++-----------
 pop3d/quit.c                       |    4 +-
 pop3d/signal.c                     |    6 ++--
 pop3d/user.c                       |   13 +++++----
 readmsg/readmsg.c                  |   14 +++++-----
 sieve/sieve.c                      |   31 ++++++++++-----------
 93 files changed, 576 insertions(+), 548 deletions(-)

diff --git a/comsat/action.c b/comsat/action.c
index 727870c..74baf18 100644
--- a/comsat/action.c
+++ b/comsat/action.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005, 
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -294,13 +294,13 @@ action_exec (FILE *tty, int line, int argc, char **argv)
 
   if (argc == 0)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("%s:.biffrc:%d: No arguments for 
exec"), username, line);
+      mu_diag_output (MU_DIAG_ERROR, _("%s:.biffrc:%d: no arguments for 
exec"), username, line);
       return;
     }
 
   if (argv[0][0] != '/')
     {
-      mu_diag_output (MU_DIAG_ERROR, _("%s:.biffrc:%d: Not an absolute 
pathname"),
+      mu_diag_output (MU_DIAG_ERROR, _("%s:.biffrc:%d: not an absolute 
pathname"),
              username, line);
       return;
     }
@@ -328,7 +328,7 @@ action_exec (FILE *tty, int line, int argc, char **argv)
       dup2 (fileno (tty), 2);
       fclose (tty);
       execv (argv[0], argv);
-      mu_diag_output (MU_DIAG_ERROR, _("Cannot execute %s: %s"), argv[0], 
strerror (errno));
+      mu_diag_output (MU_DIAG_ERROR, _("cannot execute %s: %s"), argv[0], 
strerror (errno));
       exit (0);
     }
 }
diff --git a/comsat/comsat.c b/comsat/comsat.c
index 1bdbc98..1353eb1 100644
--- a/comsat/comsat.c
+++ b/comsat/comsat.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005, 
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -247,7 +247,7 @@ comsat_process (char *buffer, size_t rdlen)
   p = strchr (buffer, '@');
   if (!p)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Malformed input: %s"), buffer);
+      mu_diag_output (MU_DIAG_ERROR, _("malformed input: %s"), buffer);
       return;
     }
   *p++ = 0;
@@ -321,8 +321,8 @@ comsat_prefork (int fd, void *data, struct sockaddr *s, int 
size)
 
          delay = overflow_delay_time << (overflow_count + 1);
          mu_diag_output (MU_DIAG_NOTICE,
-                        ngettext ("Too many requests: pausing for %u second",
-                                  "Too many requests: pausing for %u seconds",
+                        ngettext ("too many requests: pausing for %u second",
+                                  "too many requests: pausing for %u seconds",
                                    delay),
                          delay);
          /* FIXME: drain the socket? */
@@ -365,8 +365,8 @@ comsat_connection (int fd, struct sockaddr *sa, int salen,
     {
       char *p = mu_sockaddr_to_astr (sa, salen);
       mu_diag_output (MU_DIAG_INFO,
-                     ngettext ("Received %d byte from %s",
-                               "Received %d bytes from %s", rdlen),
+                     ngettext ("received %d byte from %s",
+                               "received %d bytes from %s", rdlen),
                      rdlen, p);
       mu_diag_output (MU_DIAG_INFO, "string: %s", buffer);
       free (p);
@@ -377,7 +377,7 @@ comsat_connection (int fd, struct sockaddr *sa, int salen,
       int rc = mu_udp_server_set_bufsize (srv, rdlen + 1);
       if (rc)
        {
-         mu_error (_("Cannot resize buffer: %s"), mu_strerror (rc));
+         mu_error (_("cannot resize buffer: %s"), mu_strerror (rc));
          return 0;
        }
     }
@@ -418,7 +418,7 @@ notify_user (const char *user, const char *device, const 
char *path,
     return;
   if ((fp = fopen (device, "w")) == NULL)
     {
-      mu_error (_("Cannot open device %s: %m"), device);
+      mu_error (_("cannot open device %s: %s"), device, mu_strerror (errno));
       return;
     }
 
@@ -434,7 +434,7 @@ notify_user (const char *user, const char *device, const 
char *path,
   if ((status = mu_mailbox_create (&mbox, path)) != 0
       || (status = mu_mailbox_open (mbox, MU_STREAM_READ|MU_STREAM_QACCESS)) 
!= 0)
     {
-      mu_error (_("Cannot open mailbox %s: %s"),
+      mu_error (_("cannot open mailbox %s: %s"),
              path, mu_strerror (status));
       return;
     }
@@ -442,7 +442,7 @@ notify_user (const char *user, const char *device, const 
char *path,
   status = mu_mailbox_quick_get_message (mbox, qid, &msg);
   if (status)
     {
-      mu_error (_("Cannot get message (mailbox %s, qid %s): %s"),
+      mu_error (_("cannot get message (mailbox %s, qid %s): %s"),
                path, qid, mu_strerror (status));
       return; /* FIXME: Notify the user, anyway */
     }
@@ -484,7 +484,8 @@ find_user (const char *name, char *tty)
          if (strncmp (ftty, PATH_TTY_PFX, strlen (PATH_TTY_PFX)))
            {
              /* An attempt to break security... */
-             mu_diag_output (MU_DIAG_ALERT, _("Bad line name in utmp record: 
%s"), ftty);
+             mu_diag_output (MU_DIAG_ALERT,
+                             _("bad line name in utmp record: %s"), ftty);
              return NOT_HERE;
            }
 
@@ -492,7 +493,8 @@ find_user (const char *name, char *tty)
            {
              if (!S_ISCHR (statb.st_mode))
                {
-                 mu_diag_output (MU_DIAG_ALERT, _("Not a character device: 
%s"), ftty);
+                 mu_diag_output (MU_DIAG_ALERT,
+                                 _("not a character device: %s"), ftty);
                  return NOT_HERE;
                }
 
@@ -525,7 +527,7 @@ change_user (const char *user)
   pw = getpwnam (user);
   if (!pw)
     {
-      mu_diag_output (MU_DIAG_CRIT, _("No such user: %s"), user);
+      mu_diag_output (MU_DIAG_CRIT, _("no such user: %s"), user);
       return 1;
     }
 
@@ -546,7 +548,7 @@ mailbox_path (const char *user)
 
   if (!auth)
     {
-      mu_diag_output (MU_DIAG_ALERT, _("User nonexistent: %s"), user);
+      mu_diag_output (MU_DIAG_ALERT, _("user nonexistent: %s"), user);
       return NULL;
     }
 
@@ -592,7 +594,7 @@ main (int argc, char **argv)
   
       if (argc < 2 || argc > 2)
        {
-         mu_error (_("Mailbox URL and message QID are required in test mode"));
+         mu_error (_("mailbox URL and message QID are required in test mode"));
          exit (EXIT_FAILURE);
        }
 
@@ -605,7 +607,7 @@ main (int argc, char **argv)
              struct passwd *pw = getpwuid (getuid ());
              if (!pw)
                {
-                 mu_error (_("Cannot determine user name"));
+                 mu_error (_("cannot determine user name"));
                  exit (EXIT_FAILURE);
                }
              user = pw->pw_name;
@@ -632,7 +634,7 @@ main (int argc, char **argv)
     {
       if (argv[0][0] != '/')
        mu_diag_output (MU_DIAG_NOTICE,
-                       _("Program name is not absolute; reloading will not "
+                       _("program name is not absolute; reloading will not "
                          "be possible"));
       else
        {
@@ -650,7 +652,7 @@ main (int argc, char **argv)
       mu_m_server_destroy (&server);
       if (reload)
        {
-         mu_diag_output (MU_DIAG_NOTICE, _("Restarting"));
+         mu_diag_output (MU_DIAG_NOTICE, _("restarting"));
          execvp (argv[0], argv);
        }
     }
diff --git a/comsat/oldcfg.c b/comsat/oldcfg.c
index b4f235f..b59ae72 100644
--- a/comsat/oldcfg.c
+++ b/comsat/oldcfg.c
@@ -45,7 +45,7 @@ convert_config (const char *config_file, FILE *outfile)
   fp = fopen (config_file, "r");
   if (!fp)
     {
-      mu_error (_("Cannot open config file %s: %s"), config_file,
+      mu_error (_("cannot open config file %s: %s"), config_file,
                mu_strerror (errno));
       return;
     }
diff --git a/config/mailutils-config.c b/config/mailutils-config.c
index 99689b9..e4037d4 100644
--- a/config/mailutils-config.c
+++ b/config/mailutils-config.c
@@ -134,7 +134,7 @@ add_entry (int level, char *ptr)
   int i;
   if (nentry >= sizeof(lib_entry)/sizeof(lib_entry[0]))
     {
-      mu_error (_("Too many arguments"));
+      mu_error (_("too many arguments"));
       exit (1);
     }
   
diff --git a/configure.ac b/configure.ac
index f852b92..513a373 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 
 # Enable silent rules by default:
-test -z "$enable_silent_rules" && AM_DEFAULT_VERBOSITY=0
+AM_SILENT_RULES([yes])
 
 dnl Autobuild stuff
 AB_INIT
diff --git a/dotlock/dotlock.c b/dotlock/dotlock.c
index 882b1de..8d9098b 100644
--- a/dotlock/dotlock.c
+++ b/dotlock/dotlock.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005, 
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -100,7 +100,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case ARGP_KEY_ARG:
       if (file)
-       argp_error (state, _("Only one FILE can be specified"));
+       argp_error (state, _("only one FILE can be specified"));
       file = arg;
       break;
 
@@ -178,7 +178,7 @@ main (int argc, char *argv[])
   if ((err = mu_locker_create (&locker, file, flags)))
     {
       if (debug)
-       fprintf (stderr, _("Creating locker failed: %s\n"), mu_strerror (err));
+       mu_diag_funcall (MU_DIAG_ERROR, "mu_locker_create", NULL, err);
       return MU_DL_EX_ERROR;
     }
 
@@ -201,10 +201,9 @@ main (int argc, char *argv[])
   mu_locker_destroy (&locker);
 
   if (debug && err)
-    fprintf (stderr,
-            unlock ? _("Unlocking the file %s failed: %s\n") :
-                     _("Locking the file %s failed: %s\n"),
-            file, mu_strerror (err));
+    mu_error (unlock ? _("unlocking the file %s failed: %s") :
+             _("locking the file %s failed: %s"),
+             file, mu_strerror (err));
 
   switch (err)
     {
diff --git a/frm/common.c b/frm/common.c
index 4cd4f71..7e0ed3e 100644
--- a/frm/common.c
+++ b/frm/common.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -385,7 +385,7 @@ rfc2047_decode_wrapper (const char *buf, size_t buflen)
   if (rc)
     {
       if (frm_debug)
-       mu_error (_("Cannot decode line `%s': %s"),
+       mu_error (_("cannot decode line `%s': %s"),
                  buf, mu_strerror (rc));
       return strdup (buf);
     }
@@ -528,7 +528,7 @@ frm_abort (mu_mailbox_t *mbox)
     {
       mu_url_t url;
       
-      mu_error (_("Could not close mailbox `%s': %s"),
+      mu_error (_("could not close mailbox `%s': %s"),
                mu_url_to_string (url), mu_strerror (status));
       exit (3);
     }
@@ -556,10 +556,10 @@ frm_scan (char *mailbox_name, frm_select_t fun, size_t 
*total)
   if (status != 0)
     {
       if (mailbox_name)
-       mu_error (_("Could not create mailbox `%s': %s"),
+       mu_error (_("could not create mailbox `%s': %s"),
                  mailbox_name,  mu_strerror (status));
       else
-       mu_error (_("Could not create default mailbox: %s"),
+       mu_error (_("could not create default mailbox: %s"),
                  mu_strerror (status));
       exit (3);
     }
@@ -578,7 +578,7 @@ frm_scan (char *mailbox_name, frm_select_t fun, size_t 
*total)
     *total = 0;
   else if (status != 0)
     {
-      mu_error (_("Could not open mailbox `%s': %s"),
+      mu_error (_("could not open mailbox `%s': %s"),
                mu_url_to_string (url), mu_strerror (status));
       frm_abort (&mbox);
     }
@@ -598,7 +598,7 @@ frm_scan (char *mailbox_name, frm_select_t fun, size_t 
*total)
       status = mu_mailbox_scan (mbox, 1, total);
       if (status != 0)
        {
-         mu_error (_("Could not scan mailbox `%s': %s."),
+         mu_error (_("could not scan mailbox `%s': %s."),
                    mu_url_to_string (url), mu_strerror (status));
          frm_abort (&mbox);
        }
@@ -608,7 +608,7 @@ frm_scan (char *mailbox_name, frm_select_t fun, size_t 
*total)
       
       if ((status = mu_mailbox_close (mbox)) != 0)
        {
-         mu_error (_("Could not close mailbox `%s': %s"),
+         mu_error (_("could not close mailbox `%s': %s"),
                    mu_url_to_string (url), mu_strerror (status));
          exit (3);
        }
diff --git a/frm/from.c b/frm/from.c
index a969f58..aac7bd6 100644
--- a/frm/from.c
+++ b/frm/from.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -125,7 +125,7 @@ main (int argc, char **argv)
 
   if (argc - c > 1)
     {
-      mu_error (_("Too many arguments"));
+      mu_error (_("too many arguments"));
       exit (1);
     }
   else if (argc - c > 0)
diff --git a/guimb/collect.c b/guimb/collect.c
index 8839d98..4b94c62 100644
--- a/guimb/collect.c
+++ b/guimb/collect.c
@@ -33,7 +33,7 @@ collect_open_default ()
       int rc = mu_construct_user_mailbox_url (&default_mailbox, user_name);
       if (rc)
        {
-         util_error (_("Cannot construct default mailbox URL: %s"),
+         util_error (_("cannot construct default mailbox URL: %s"),
                       mu_strerror (rc));
          exit (1);
        }
@@ -41,7 +41,7 @@ collect_open_default ()
   if (mu_mailbox_create (&mbox, default_mailbox) != 0
       || mu_mailbox_open (mbox, MU_STREAM_RDWR) != 0)
     {
-      util_error (_("Cannot open default mailbox %s: %s"),
+      util_error (_("cannot open default mailbox %s: %s"),
                  default_mailbox, mu_strerror (errno));
       exit (1);
     }
@@ -85,7 +85,7 @@ collect_append_file (char *name)
       fp = fopen (name, "r");
       if (!fp)
        {
-         util_error (_("Cannot open input file %s: %s"), name, strerror 
(errno));
+         util_error (_("cannot open input file %s: %s"), name, strerror 
(errno));
          return -1;
        }
     }
@@ -113,7 +113,7 @@ collect_create_mailbox ()
   if (mu_mailbox_create (&mbox, temp_filename) != 0
       || mu_mailbox_open (mbox, MU_STREAM_READ) != 0)
     {
-      util_error (_("Cannot create temp mailbox %s: %s"),
+      util_error (_("cannot create temp mailbox %s: %s"),
                  temp_filename, strerror (errno));
       unlink (temp_filename);
       exit (1);
@@ -124,7 +124,7 @@ collect_create_mailbox ()
 
   if (nmesg == 0)
     {
-      util_error (_("Input format not recognized"));
+      util_error (_("input format not recognized"));
       exit (1);
     }
 }
@@ -149,8 +149,8 @@ collect_output ()
       || mu_mailbox_open (outbox, MU_STREAM_RDWR|MU_STREAM_CREAT) != 0)
     {
       mu_mailbox_destroy (&outbox);
-      fprintf (stderr, _("Cannot open output mailbox %s: %s\n"),
-              default_mailbox, strerror (errno));
+      mu_error (_("cannot open output mailbox %s: %s"),
+               default_mailbox, strerror (errno));
       return 1;
     }
 
diff --git a/guimb/main.c b/guimb/main.c
index a06ed54..24aa041 100644
--- a/guimb/main.c
+++ b/guimb/main.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -43,7 +43,7 @@ append_arg (char *arg)
       g_argv = realloc (g_argv, g_size * sizeof (g_argv[0]));
       if (!g_argv)
        {
-         util_error (_("Not enough memory"));
+         util_error (_("not enough memory"));
          exit (1);
        }
     }
diff --git a/guimb/util.c b/guimb/util.c
index 463d368..06c90d1 100644
--- a/guimb/util.c
+++ b/guimb/util.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005,
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -51,14 +51,14 @@ util_get_sender (int msgno)
       if (mu_envelope_sget_sender (env, &buffer)
          || mu_address_create (&addr, buffer))
        {
-         util_error (_("Cannot determine sender name (msg %d)"), msgno);
+         util_error (_("cannot determine sender name (msg %d)"), msgno);
          return NULL;
        }
     }
 
   if (mu_address_aget_email (addr, 1, &email))
     {
-      util_error (_("Cannot determine sender name (msg %d)"), msgno);
+      util_error (_("cannot determine sender name (msg %d)"), msgno);
       mu_address_destroy (&addr);
       return NULL;
     }
diff --git a/imap4d/auth_gsasl.c b/imap4d/auth_gsasl.c
index 27afcc5..f170f81 100644
--- a/imap4d/auth_gsasl.c
+++ b/imap4d/auth_gsasl.c
@@ -1,5 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2007, 2008, 
+   2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -280,14 +281,14 @@ callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property 
prop)
       if (mu_gsasl_module_data.anon_user)
        {
          char **username = gsasl_callback_hook_get (ctx);
-         mu_diag_output (MU_DIAG_INFO, _("Anonymous user %s logged in"),
+         mu_diag_output (MU_DIAG_INFO, _("anonymous user %s logged in"),
                          gsasl_property_get (sctx, GSASL_ANONYMOUS_TOKEN));
          *username = strdup (mu_gsasl_module_data.anon_user);
        }
       else
        {
          mu_diag_output (MU_DIAG_ERR,
-                         _("Attempt to log in as anonymous user denied"));
+                         _("attempt to log in as anonymous user denied"));
        }
       break;
       
@@ -300,7 +301,7 @@ callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property 
prop)
       
     default:
        rc = GSASL_NO_CALLBACK;
-       mu_error (_("Unsupported callback property %d"), prop);
+       mu_error (_("unsupported callback property %d"), prop);
        break;
     }
 
diff --git a/imap4d/auth_gss.c b/imap4d/auth_gss.c
index 5fd54c4..98f8a77 100644
--- a/imap4d/auth_gss.c
+++ b/imap4d/auth_gss.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2001, 2002, 2003, 2004, 
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -254,7 +254,7 @@ auth_gssapi (struct imap4d_command *command,
   if ((mech & SUPPORTED_P_MECH) == 0)
     {
       mu_diag_output (MU_DIAG_NOTICE,
-             _("Client requested unsupported protection mechanism (%d)"),
+             _("client requested unsupported protection mechanism (%d)"),
              mech);
       gss_release_buffer (&min_stat, &outbuf);
       maj_stat = gss_delete_sec_context (&min_stat, &context, &outbuf);
@@ -267,7 +267,7 @@ auth_gssapi (struct imap4d_command *command,
   *username = malloc (outbuf.length - 4 + 1);
   if (!*username)
     {
-      mu_diag_output (MU_DIAG_NOTICE, _("Not enough memory"));
+      mu_diag_output (MU_DIAG_NOTICE, _("not enough memory"));
       gss_release_buffer (&min_stat, &outbuf);
       maj_stat = gss_delete_sec_context (&min_stat, &context, &outbuf);
       gss_release_buffer (&min_stat, &outbuf);
diff --git a/imap4d/bye.c b/imap4d/bye.c
index 801644c..0a59aa5 100644
--- a/imap4d/bye.c
+++ b/imap4d/bye.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005, 
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -41,55 +41,55 @@ imap4d_bye0 (int reason, struct imap4d_command *command)
     {
     case ERR_NO_MEM:
       util_out (RESP_BYE, "Server terminating: no more resources.");
-      mu_diag_output (MU_DIAG_ERROR, _("Out of memory"));
+      mu_diag_output (MU_DIAG_ERROR, _("not enough memory"));
       break;
 
     case ERR_TERMINATE:
       status = EX_OK;
       util_out (RESP_BYE, "Server terminating on request.");
-      mu_diag_output (MU_DIAG_NOTICE, _("Terminating on request"));
+      mu_diag_output (MU_DIAG_NOTICE, _("terminating on request"));
       break;
 
     case ERR_SIGNAL:
-      mu_diag_output (MU_DIAG_ERROR, _("Quitting on signal"));
+      mu_diag_output (MU_DIAG_ERROR, _("quitting on signal"));
       exit (status);
 
     case ERR_TIMEOUT:
       status = EX_TEMPFAIL;
       util_out (RESP_BYE, "Session timed out");
       if (state == STATE_NONAUTH)
-        mu_diag_output (MU_DIAG_INFO, _("Session timed out for no user"));
+        mu_diag_output (MU_DIAG_INFO, _("session timed out for no user"));
       else
-       mu_diag_output (MU_DIAG_INFO, _("Session timed out for user: %s"), 
auth_data->name);
+       mu_diag_output (MU_DIAG_INFO, _("session timed out for user: %s"), 
auth_data->name);
       break;
 
     case ERR_NO_OFILE:
       status = EX_IOERR;
-      mu_diag_output (MU_DIAG_INFO, _("Write error on control stream"));
+      mu_diag_output (MU_DIAG_INFO, _("write error on control stream"));
       break;
 
     case ERR_NO_IFILE:
       status = EX_IOERR;
-      mu_diag_output (MU_DIAG_INFO, _("Read error on control stream"));
+      mu_diag_output (MU_DIAG_INFO, _("read error on control stream"));
       break;
 
     case ERR_MAILBOX_CORRUPTED:
       status = EX_OSERR;
-      mu_diag_output (MU_DIAG_ERROR, _("Mailbox modified by third party"));
+      mu_diag_output (MU_DIAG_ERROR, _("mailbox modified by third party"));
       break;
       
     case OK:
       status = EX_OK;
       util_out (RESP_BYE, "Session terminating.");
       if (state == STATE_NONAUTH)
-       mu_diag_output (MU_DIAG_INFO, _("Session terminating"));
+       mu_diag_output (MU_DIAG_INFO, _("session terminating"));
       else
-       mu_diag_output (MU_DIAG_INFO, _("Session terminating for user: %s"), 
auth_data->name);
+       mu_diag_output (MU_DIAG_INFO, _("session terminating for user: %s"), 
auth_data->name);
       break;
 
     default:
       util_out (RESP_BYE, "Quitting (reason unknown)");
-      mu_diag_output (MU_DIAG_ERROR, _("Quitting (numeric reason %d)"), 
reason);
+      mu_diag_output (MU_DIAG_ERROR, _("quitting (numeric reason %d)"), 
reason);
       break;
     }
 
diff --git a/imap4d/close.c b/imap4d/close.c
index 294d12a..fd45d06 100644
--- a/imap4d/close.c
+++ b/imap4d/close.c
@@ -35,8 +35,7 @@ imap4d_close0 (struct imap4d_command *command, 
imap4d_tokbuf_t tok,
       status = mu_mailbox_flush (mbox, expunge);
       if (status)
        {
-         mu_diag_output (MU_DIAG_ERROR,
-                 _("flushing mailbox failed: %s"), mu_strerror (status));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_mailbox_flush", NULL, status);
          msg = "flushing mailbox failed";
        }
     }
@@ -46,8 +45,7 @@ imap4d_close0 (struct imap4d_command *command, 
imap4d_tokbuf_t tok,
   status = mu_mailbox_close (mbox);
   if (status)
     {
-      mu_diag_output (MU_DIAG_ERROR,
-                     _("closing mailbox failed: %s"), mu_strerror (status));
+      mu_diag_funcall (MU_DIAG_ERROR, "mu_mailbox_close", NULL, status);
       msg = "closing mailbox failed";
     }
   mu_mailbox_destroy (&mbox);
diff --git a/imap4d/imap4d.c b/imap4d/imap4d.c
index dc5cc90..1f8cb64 100644
--- a/imap4d/imap4d.c
+++ b/imap4d/imap4d.c
@@ -185,7 +185,7 @@ cb_mode (mu_debug_t debug, void *data, mu_config_value_t 
*val)
   home_dir_mode = strtoul (val->v.string, &p, 8);
   if (p[0] || (home_dir_mode & ~0777))
     mu_cfg_format_error (debug, MU_DEBUG_ERROR, 
-                         _("Invalid mode specification: %s"),
+                         _("invalid mode specification: %s"),
                         val->v.string);
   return 0;
 }
@@ -257,8 +257,7 @@ cb_preauth (mu_debug_t debug, void *data, mu_config_value_t 
*val)
 
       if (rc)
        {
-         mu_cfg_format_error (debug, MU_DEBUG_ERROR,
-                              _("cannot create URL: %s"), mu_strerror (rc));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_url_create", val->v.string, rc);
          return 1;
        }
       rc = mu_url_parse (url);
@@ -368,9 +367,8 @@ imap4d_session_setup0 ()
       if (rc)
        {
          free (real_homedir);
-         mu_diag_output (MU_DIAG_ERR,
-                         _("Error expanding %s: %s"),
-                         modify_homedir, mu_strerror (rc));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_vartab_expand",
+                          modify_homedir, rc);
          return 1;
        }
     }
@@ -392,7 +390,7 @@ imap4d_session_setup0 ()
   util_chdir (imap4d_homedir);
   namespace_init_session (imap4d_homedir);
   mu_diag_output (MU_DIAG_INFO,
-                 _("User `%s' logged in (source: %s)"), auth_data->name,
+                 _("user `%s' logged in (source: %s)"), auth_data->name,
                  auth_data->source);
   return 0;
 }
@@ -403,7 +401,7 @@ imap4d_session_setup (char *username)
   auth_data = mu_get_auth_by_name (username);
   if (auth_data == NULL)
     {
-      mu_diag_output (MU_DIAG_INFO, _("User `%s': nonexistent"), username);
+      mu_diag_output (MU_DIAG_INFO, _("user `%s' nonexistent"), username);
       return 1;
     }
   return imap4d_session_setup0 ();
@@ -416,9 +414,7 @@ get_client_address (int fd, struct sockaddr_in *pcs)
 
   if (getpeername (fd, (struct sockaddr *) pcs, &len) < 0)
     {
-      mu_diag_output (MU_DIAG_ERROR,
-                     _("Cannot obtain IP address of client: %s"),
-                     strerror (errno));
+      mu_diag_funcall (MU_DIAG_ERROR, "getpeername", NULL, errno);
       return 1;
     }
   return 0;
@@ -442,7 +438,7 @@ imap4d_mainloop (int fd, FILE *infile, FILE *outfile)
     {
       if (debug_mode)
        {
-         mu_diag_output (MU_DIAG_INFO, _("Started in debugging mode"));
+         mu_diag_output (MU_DIAG_INFO, _("started in debugging mode"));
          text = "IMAP4rev1 Debugging mode";
        }
       else
@@ -586,20 +582,19 @@ main (int argc, char **argv)
        {
          if (errno == 0 || errno == ENOENT)
             {
-               mu_error (_("%s: No such group"), "mail");
+               mu_error (_("%s: no such group"), "mail");
                exit (EX_CONFIG);
             }
           else
             {
-              mu_error (_("Error getting mail group: %s"), 
-                         mu_strerror (errno));
-              exit (EX_OSERR);
+             mu_diag_funcall (MU_DIAG_ERROR, "getgrnam", "mail", errno);
+             exit (EX_OSERR);
             }
        }
 
       if (setgid (gr->gr_gid) == -1)
        {
-         mu_error (_("Error setting mail group: %s"), mu_strerror (errno));
+         mu_error (_("error setting mail group: %s"), mu_strerror (errno));
          exit (EX_OSERR);
        }
     }
@@ -644,7 +639,7 @@ main (int argc, char **argv)
     }
 
   if (status)
-    mu_error (_("Main loop status: %s"), mu_strerror (status));          
+    mu_error (_("main loop status: %s"), mu_strerror (status));          
   /* Close the syslog connection and exit.  */
   closelog ();
 
diff --git a/imap4d/login.c b/imap4d/login.c
index fb7a774..4528fe7 100644
--- a/imap4d/login.c
+++ b/imap4d/login.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2001, 2002, 2006,
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ imap4d_login (struct imap4d_command *command, imap4d_tokbuf_t 
tok)
 
   if (auth_data == NULL)
     {
-      mu_diag_output (MU_DIAG_INFO, _("User `%s': nonexistent"), username);
+      mu_diag_output (MU_DIAG_INFO, _("user `%s' nonexistent"), username);
       return util_finish (command, RESP_NO, "User name or passwd rejected");
     }
 
@@ -58,7 +58,7 @@ imap4d_login (struct imap4d_command *command, imap4d_tokbuf_t 
tok)
   openlog (MU_LOG_TAG (), LOG_PID, mu_log_facility);
   if (rc)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Login failed: %s"), username);
+      mu_diag_output (MU_DIAG_INFO, _("login failed: %s"), username);
       return util_finish (command, RESP_NO, "User name or passwd rejected");
     }
 
diff --git a/imap4d/preauth.c b/imap4d/preauth.c
index 06eb231..b1b44d0 100644
--- a/imap4d/preauth.c
+++ b/imap4d/preauth.c
@@ -260,7 +260,7 @@ ident_decrypt (const char *file, const char *name)
   if (size != 24)
     {
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Incorrect length of IDENT DES packet"));
+                     _("incorrect length of IDENT DES packet"));
       free (buf);
       return NULL;
     }
@@ -269,7 +269,7 @@ ident_decrypt (const char *file, const char *name)
   if (fd < 0)
     {
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Cannot open file %s: %s"),
+                     _("cannot open file %s: %s"),
                      file, mu_strerror (errno));
       return NULL;
     }
@@ -310,13 +310,13 @@ ident_decrypt (const char *file, const char *name)
       auth_data = mu_get_auth_by_uid (uid);
       if (!auth_data)
        {
-         mu_diag_output (MU_DIAG_ERROR, _("No user with UID %u"), uid);
+         mu_diag_output (MU_DIAG_ERROR, _("no user with UID %u"), uid);
          return NULL;
        }
       return auth_data->name;
     }
   else
-    mu_diag_output (MU_DIAG_ERROR, _("Failed to decrypt IDENT reply"));
+    mu_diag_output (MU_DIAG_ERROR, _("failed to decrypt IDENT reply"));
   return NULL;
 }
 
@@ -334,13 +334,13 @@ do_preauth_ident (struct sockaddr *clt_sa, struct 
sockaddr *srv_sa)
 
   if (!srv_sa || !clt_sa)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Not enough data for IDENT preauth"));
+      mu_diag_output (MU_DIAG_ERROR, _("not enough data for IDENT preauth"));
       return NULL;
     }
   if (srv_sa->sa_family != AF_INET)
     {
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Invalid address family (%d) for IDENT preauth"),
+                     _("invalid address family (%d) for IDENT preauth"),
                      srv_sa->sa_family);
       return NULL;
     }
@@ -354,7 +354,7 @@ do_preauth_ident (struct sockaddr *clt_sa, struct sockaddr 
*srv_sa)
                             MU_STREAM_RDWR | MU_STREAM_NO_CHECK);
   if (rc)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Cannot create TCP stream: %s"),
+      mu_diag_output (MU_DIAG_INFO, _("cannot create TCP stream: %s"),
                      mu_strerror (rc));
       return NULL;
     }
@@ -362,7 +362,7 @@ do_preauth_ident (struct sockaddr *clt_sa, struct sockaddr 
*srv_sa)
   rc = mu_stream_open (stream);
   if (rc)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Cannot open TCP stream to %s:%d: %s"),
+      mu_diag_output (MU_DIAG_INFO, _("cannot open TCP stream to %s:%d: %s"),
                      hostaddr, ident_port, mu_strerror (rc));
       return NULL;
     }
@@ -377,7 +377,7 @@ do_preauth_ident (struct sockaddr *clt_sa, struct sockaddr 
*srv_sa)
   mu_stream_destroy (&stream, NULL);
   if (rc)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Cannot read answer from %s:%d: %s"),
+      mu_diag_output (MU_DIAG_INFO, _("cannot read answer from %s:%d: %s"),
                      hostaddr, ident_port, mu_strerror (rc));
       return NULL;
     }
@@ -386,14 +386,14 @@ do_preauth_ident (struct sockaddr *clt_sa, struct 
sockaddr *srv_sa)
   name = ident_extract_username (buf);
   if (!name)
     mu_diag_output (MU_DIAG_INFO,
-                   _("Malformed IDENT response: `%s', from %s:%d"),
+                   _("malformed IDENT response: `%s', from %s:%d"),
                    buf, hostaddr, ident_port);
   else if (is_des_p (name))
     {
       if (!ident_keyfile)
        {
          mu_diag_output (MU_DIAG_ERROR,
-                         _("Keyfile not specified in config; "
+                         _("keyfile not specified in config; "
                            "use `ident-keyfile FILE'"));
          name = NULL;
        }
@@ -403,7 +403,7 @@ do_preauth_ident (struct sockaddr *clt_sa, struct sockaddr 
*srv_sa)
   else if (ident_encrypt_only)
     {
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Refusing unencrypted ident reply from %s:%d"),
+                     _("refusing unencrypted ident reply from %s:%d"),
                      hostaddr, ident_port);
       name = NULL;
     }
@@ -485,7 +485,7 @@ imap4d_preauth_setup (int fd)
   if (getpeername (fd, (struct sockaddr *) &clt_sa, &clt_len) == -1)
     {
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Cannot obtain IP address of client: %s"),
+                     _("cannot obtain IP address of client: %s"),
                      strerror (errno));
       pclt_sa = NULL;
       clt_len = 0;
diff --git a/imap4d/signal.c b/imap4d/signal.c
index 607b059..d883e08 100644
--- a/imap4d/signal.c
+++ b/imap4d/signal.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2007, 
-   2008 Free Software Foundation, Inc.
+   2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -49,7 +49,7 @@ imap4d_master_signal (int signo)
 RETSIGTYPE
 imap4d_child_signal (int signo)
 {
-  mu_diag_output (MU_DIAG_CRIT, _("Got signal `%s'"), strsignal (signo));
+  mu_diag_output (MU_DIAG_CRIT, _("got signal `%s'"), strsignal (signo));
 
   switch (signo)
     {
diff --git a/imap4d/starttls.c b/imap4d/starttls.c
index 0aed6d8..e2dfbd6 100644
--- a/imap4d/starttls.c
+++ b/imap4d/starttls.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -62,7 +62,7 @@ imap4d_starttls (struct imap4d_command *command, 
imap4d_tokbuf_t tok)
     }
   else
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Session terminated"));
+      mu_diag_output (MU_DIAG_ERROR, _("session terminated"));
       util_bye ();
       exit (EX_OK);
     }
diff --git a/imap4d/util.c b/imap4d/util.c
index a5bc309..8350de0 100644
--- a/imap4d/util.c
+++ b/imap4d/util.c
@@ -695,7 +695,7 @@ util_localname ()
        }
       if (status || name == NULL)
        {
-         mu_diag_output (MU_DIAG_CRIT, _("Cannot find out my own hostname"));
+         mu_diag_output (MU_DIAG_CRIT, _("cannot find out my own hostname"));
          exit (EX_OSERR);
        }
 
@@ -853,8 +853,8 @@ util_wait_input (int timeout)
   status = mu_stream_wait (istream, &wflags, &tv);
   if (status)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Cannot poll input stream: %s"),
-             mu_strerror(status));
+      mu_diag_output (MU_DIAG_ERROR, _("cannot poll input stream: %s"),
+                     mu_strerror(status));
       return -1;
     }
   return wflags & MU_STREAM_READY_RD;
@@ -887,7 +887,7 @@ imap4d_init_tls_server ()
     {
       const char *p;
       mu_stream_strerror (stream, &p);
-      mu_diag_output (MU_DIAG_ERROR, _("Cannot open TLS stream: %s"), p);
+      mu_diag_output (MU_DIAG_ERROR, _("cannot open TLS stream: %s"), p);
       return 0;
     }
 
@@ -1231,12 +1231,12 @@ check_input_err (int rc, size_t sz)
        p = mu_strerror (rc);
       
       mu_diag_output (MU_DIAG_INFO,
-                     _("Error reading from input file: %s"), p);
+                     _("error reading from input file: %s"), p);
       imap4d_bye (ERR_NO_IFILE);
     }
   else if (sz == 0)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Unexpected eof on input"));
+      mu_diag_output (MU_DIAG_INFO, _("unexpected eof on input"));
       imap4d_bye (ERR_NO_IFILE);
     }
 }
diff --git a/include/mailutils/diag.h b/include/mailutils/diag.h
index d35b3da..c738f5e 100644
--- a/include/mailutils/diag.h
+++ b/include/mailutils/diag.h
@@ -54,6 +54,9 @@ int mu_diag_stderr_printer (void *, mu_log_level_t, const 
char *);
 
 int mu_diag_level_to_syslog (mu_log_level_t level);
 const char *mu_diag_level_to_string (mu_log_level_t level);
+
+void mu_diag_funcall (mu_log_level_t level, const char *func,
+                     const char *arg, int err);
   
 #ifdef __cplusplus
 }
diff --git a/lib/mailcap.c b/lib/mailcap.c
index 5a43329..f99d512 100644
--- a/lib/mailcap.c
+++ b/lib/mailcap.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -442,7 +442,7 @@ create_filter (char *cmd, int outfd, int *infd)
        dup2 (outfd, 1);
 
       execvp (argv[0], argv);
-      mu_error (_("Cannot execute `%s': %s"), cmd, mu_strerror (errno));
+      mu_error (_("cannot execute `%s': %s"), cmd, mu_strerror (errno));
       _exit (127);
     }
 
diff --git a/lib/tcpwrap.c b/lib/tcpwrap.c
index a611427..a6504ad 100644
--- a/lib/tcpwrap.c
+++ b/lib/tcpwrap.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2001, 2002, 2003, 2004, 
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -46,7 +46,7 @@ mu_tcp_wrapper_cb_hosts_allow_syslog (mu_debug_t debug, void 
*data,
     return 1;
   if (mu_string_to_syslog_priority (val->v.string, &allow_severity))
     mu_cfg_format_error (debug, MU_DEBUG_ERROR, 
-                        _("Unknown syslog priority `%s'"), 
+                        _("unknown syslog priority `%s'"), 
                         val->v.string);
   return 0;
 }
@@ -59,7 +59,7 @@ mu_tcp_wrapper_cb_hosts_deny_syslog (mu_debug_t debug, void 
*data,
     return 1;
   if (mu_string_to_syslog_priority (val->v.string, &deny_severity))
     mu_cfg_format_error (debug, MU_DEBUG_ERROR, 
-                        _("Unknown syslog priority `%s'"), 
+                        _("unknown syslog priority `%s'"), 
                         val->v.string);
   return 0;
 }
@@ -138,7 +138,7 @@ mu_tcp_wrapper_prefork (int fd, void *data, struct sockaddr 
*sa, int salen)
       && !mu_tcpwrapper_access (fd))
     {
       char *p = mu_sockaddr_to_astr (sa, salen);
-      mu_error (_("Access from %s blocked by TCP wrappers."), p);
+      mu_error (_("access from %s blocked by TCP wrappers"), p);
       free (p);
       return 1;
     }
diff --git a/libmu_argp/mu_argp.c b/libmu_argp/mu_argp.c
index 69ce307..2172e82 100644
--- a/libmu_argp/mu_argp.c
+++ b/libmu_argp/mu_argp.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006,
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -91,7 +91,7 @@ mu_build_argp (const struct argp *template, char **capa)
   ap = calloc (n + 1, sizeof (*ap));
   if (!ap)
     {
-      mu_error (_("Out of memory"));
+      mu_error (_("not enough memory"));
       abort ();
     }
 
@@ -126,7 +126,7 @@ mu_build_argp (const struct argp *template, char **capa)
   argp = malloc (sizeof (*argp));
   if (!argp)
     {
-      mu_error (_("Out of memory"));
+      mu_error (_("not enough memory"));
       abort ();
     }
 
diff --git a/libmu_auth/ldap.c b/libmu_auth/ldap.c
index f6616b4..74c4e02 100644
--- a/libmu_auth/ldap.c
+++ b/libmu_auth/ldap.c
@@ -101,11 +101,11 @@ _mu_conn_setup (LDAP **pld)
     {
       if (ber_set_option (NULL, LBER_OPT_DEBUG_LEVEL, &ldap_param.debug)
          != LBER_OPT_SUCCESS )
-       mu_error (_("Cannot set LBER_OPT_DEBUG_LEVEL %d"), ldap_param.debug);
+       mu_error (_("cannot set LBER_OPT_DEBUG_LEVEL %d"), ldap_param.debug);
 
       if (ldap_set_option (NULL, LDAP_OPT_DEBUG_LEVEL, &ldap_param.debug)
          != LDAP_OPT_SUCCESS )
-       mu_error (_("Could not set LDAP_OPT_DEBUG_LEVEL %d"),
+       mu_error (_("could not set LDAP_OPT_DEBUG_LEVEL %d"),
                  ldap_param.debug);
     }
 
@@ -114,7 +114,7 @@ _mu_conn_setup (LDAP **pld)
       rc = ldap_url_parse (ldap_param.url, &ludlist);
       if (rc != LDAP_URL_SUCCESS)
        {
-         mu_error (_("Cannot parse LDAP URL(s)=%s (%d)"),
+         mu_error (_("cannot parse LDAP URL(s)=%s (%d)"),
                    ldap_param.url, rc);
          return 1;
        }
@@ -136,7 +136,7 @@ _mu_conn_setup (LDAP **pld)
              
              if (ldap_dn2domain (lud->lud_dn, &domain) || !domain)
                {
-                 mu_error (_("DNS SRV: Cannot convert DN=\"%s\" into a 
domain"),
+                 mu_error (_("DNS SRV: cannot convert DN=\"%s\" into a 
domain"),
                            lud->lud_dn );
                  goto dnssrv_free;
                }
@@ -144,7 +144,7 @@ _mu_conn_setup (LDAP **pld)
              rc = ldap_domain2hostlist (domain, &hostlist);
              if (rc)
                {
-                 mu_error (_("DNS SRV: Cannot convert domain=%s into a 
hostlist"),
+                 mu_error (_("DNS SRV: cannot convert domain=%s into a 
hostlist"),
                            domain);
                  goto dnssrv_free;
                }
@@ -152,7 +152,7 @@ _mu_conn_setup (LDAP **pld)
              rc = mu_argcv_get (hostlist, " ", NULL, &hostcnt, &hosts);
              if (rc)
                {
-                 mu_error (_("DNS SRV: Could not parse hostlist=\"%s\": %s"),
+                 mu_error (_("DNS SRV: could not parse hostlist=\"%s\": %s"),
                            hostlist, mu_strerror (rc));
                  goto dnssrv_free;
                }
@@ -235,13 +235,14 @@ _mu_conn_setup (LDAP **pld)
       
       ber_memvfree ((void **)urls);
     }
-  
-  mu_error ("INFO: Constructed LDAP URI: %s", ldapuri ? ldapuri : "<DEFAULT>");
+
+  mu_diag_output (MU_DIAG_INFO,
+                 "constructed LDAP URI: %s", ldapuri ? ldapuri : "<DEFAULT>");
 
   rc = ldap_initialize (&ld, ldapuri);
   if (rc != LDAP_SUCCESS)
     {
-      mu_error (_("Cannot create LDAP session handle for URI=%s (%d): %s"),
+      mu_error (_("cannot create LDAP session handle for URI=%s (%d): %s"),
                ldapuri, rc, ldap_err2string (rc));
 
       free (ldapuri);
@@ -408,7 +409,7 @@ get_quota (mu_off_t *pquota, const char *str)
       break;
              
     default:
-      mu_error (_("Invalid value for quota: %s"), str);
+      mu_error (_("invalid value for quota: %s"), str);
     }
 }
 
diff --git a/libmu_auth/radius.c b/libmu_auth/radius.c
index 1a63d40..96a34de 100644
--- a/libmu_auth/radius.c
+++ b/libmu_auth/radius.c
@@ -69,7 +69,7 @@ get_attribute (int *pattr, char *name)
   grad_dict_attr_t *attr = grad_attr_name_to_dict (name);
   if (!attr)
     {
-      mu_error (_("Radius attribute %s not defined"), name);
+      mu_error (_("RADIUS attribute %s not defined"), name);
       return 1;
     }
   *pattr = attr->value;
@@ -100,7 +100,7 @@ parse_pairlist (grad_avp_t **plist, char *input)
 
   if ((rc = mu_argcv_get (input, ",", NULL, &argc, &argv)))
     {
-      mu_error (_("Cannot parse input `%s': %s"), input, mu_strerror (rc));
+      mu_error (_("cannot parse input `%s': %s"), input, mu_strerror (rc));
       return 1;
     }
 
@@ -214,7 +214,7 @@ mu_radius_module_init (enum mu_gocs_op op, void *data)
 
   if (grad_dict_init ())
     {
-      mu_error (_("Cannot read radius dictionaries"));
+      mu_error (_("cannot read radius dictionaries"));
       return 1;
     }
 
@@ -342,7 +342,7 @@ decode_reply (grad_request_t *reply, const char *user_name, 
char *password,
     uid = p->avp_lvalue;
   else
     {
-      mu_error (_("Radius did not return UID for `%s'"),  user_name);
+      mu_error (_("radius server did not return UID for `%s'"),  user_name);
       return -1;
     }
 
@@ -351,7 +351,7 @@ decode_reply (grad_request_t *reply, const char *user_name, 
char *password,
     gid = p->avp_lvalue;
   else
     {
-      mu_error (_("Radius did not return GID for `%s'"),  user_name);
+      mu_error (_("radius server did not return GID for `%s'"),  user_name);
       return -1;
     }
 
diff --git a/libmu_auth/sql.c b/libmu_auth/sql.c
index 2f2b85d..36f82d2 100644
--- a/libmu_auth/sql.c
+++ b/libmu_auth/sql.c
@@ -175,7 +175,7 @@ get_field (mu_sql_connection_t conn, const char *id, char 
**ret, int mandatory)
   if (rc)
     {
       if (mandatory || rc != MU_ERR_NOENT)
-       mu_error (_("Cannot get SQL field `%s' (`%s'): %s"),
+       mu_error (_("cannot get SQL field `%s' (`%s'): %s"),
                  id, name ? *name : id, mu_strerror (rc));
     }
   else if (!*ret)
@@ -220,14 +220,14 @@ decode_tuple_new (mu_sql_connection_t conn, int n,
   uid = strtoul (suid, &p, 0);
   if (*p)
     {
-      mu_error (_("Invalid value for uid: %s"), suid);
+      mu_error (_("invalid value for uid: %s"), suid);
       return MU_ERR_FAILURE;
     }
 
   gid = strtoul (sgid, &p, 0);
   if (*p)
     {
-      mu_error (_("Invalid value for gid: %s"), sgid);
+      mu_error (_("invalid value for gid: %s"), sgid);
       return MU_ERR_FAILURE;
     }
   
@@ -271,7 +271,7 @@ decode_tuple_new (mu_sql_connection_t conn, int n,
              break;
              
            default:
-             mu_error (_("Invalid value for quota: %s"), squota);
+             mu_error (_("invalid value for quota: %s"), squota);
              free (mailbox_name);
              return MU_ERR_FAILURE;
            }
@@ -373,7 +373,7 @@ mu_auth_sql_by_name (struct mu_auth_data **return_data,
 
   if (status)
     {
-      mu_error (_("Cannot store SQL result: %s"),
+      mu_error (_("cannot store SQL result: %s"),
                (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                                          mu_strerror (status));
       mu_sql_connection_destroy (&conn);
@@ -457,7 +457,7 @@ mu_auth_sql_by_uid (struct mu_auth_data **return_data,
 
   if (status)
     {
-      mu_error (_("Cannot store SQL result: %s"),
+      mu_error (_("cannot store SQL result: %s"),
                (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                                          mu_strerror (status));
       mu_sql_connection_destroy (&conn);
@@ -533,7 +533,7 @@ mu_sql_getpass (const char *username, char **passwd)
 
   if (status)
     {
-      mu_error (_("Cannot store SQL result: %s"),
+      mu_error (_("cannot store SQL result: %s"),
                (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                                          mu_strerror (status));
       mu_sql_connection_destroy (&conn);
@@ -543,7 +543,7 @@ mu_sql_getpass (const char *username, char **passwd)
   status = mu_sql_get_column (conn, 0, 0, &sql_pass);
   if (status)
     {
-      mu_error (_("Cannot get password from SQL: %s"),
+      mu_error (_("cannot get password from SQL: %s"),
                (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                                          mu_strerror (status));
       mu_sql_release_result (conn);
@@ -616,7 +616,7 @@ mu_sql_module_init (enum mu_gocs_op op, void *data)
   mu_sql_module_config.interface = mu_sql_interface_index (cfg->interface);
   if (mu_sql_module_config.interface == 0)
     {
-      mu_error (_("Unknown SQL interface `%s'"), cfg->interface);
+      mu_error (_("unknown SQL interface `%s'"), cfg->interface);
       return 1;
     }
 
diff --git a/libmu_auth/tls.c b/libmu_auth/tls.c
index e7560a3..e4efe64 100644
--- a/libmu_auth/tls.c
+++ b/libmu_auth/tls.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -102,7 +102,7 @@ mu_check_tls_environment (void)
        }
       if ((st.st_mode & S_IRWXG) || (st.st_mode & S_IRWXO))
        {
-         mu_error (_("Wrong permissions on %s. Set 0600"),
+         mu_error (_("wrong permissions on %s (set 0600)"),
                    mu_tls_module_config.ssl_key);
          return 0;
        }
diff --git a/libmu_cfg/acl.c b/libmu_cfg/acl.c
index dd79ad5..b1d0866 100644
--- a/libmu_cfg/acl.c
+++ b/libmu_cfg/acl.c
@@ -1,5 +1,5 @@
 /* This file is part of GNU Mailutils
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -76,7 +76,7 @@ parse_address (mu_debug_t err, const char *str, struct netdef 
*nd)
     }
   else if (inet_aton (str, &in.sin_addr) == 0)
     {
-      mu_cfg_format_error (err, MU_DEBUG_ERROR, _("Invalid IPv4: %s"), str);
+      mu_cfg_format_error (err, MU_DEBUG_ERROR, _("invalid IPv4: %s"), str);
       return 1;
     }
   in.sin_port = 0;
diff --git a/libmu_cfg/common.c b/libmu_cfg/common.c
index 15a40f0..f794596 100644
--- a/libmu_cfg/common.c
+++ b/libmu_cfg/common.c
@@ -137,7 +137,7 @@ cb_facility (mu_debug_t debug, void *data, 
mu_config_value_t *val)
   if (mu_string_to_syslog_facility (val->v.string, &logging_settings.facility))
     {
       mu_cfg_format_error (debug, MU_DEBUG_ERROR, 
-                           _("Unknown syslog facility `%s'"), 
+                           _("unknown syslog facility `%s'"), 
                           val->v.string);
       return 1;
     }
diff --git a/libmu_cfg/init.c b/libmu_cfg/init.c
index 61c9fb6..5cd627b 100644
--- a/libmu_cfg/init.c
+++ b/libmu_cfg/init.c
@@ -1,5 +1,5 @@
 /* This file is part of GNU Mailutils
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -74,7 +74,7 @@ mu_libcfg_init (char **cnames)
        {
          struct mu_cfg_capa *cp = find_cfg_capa (cnames[i]);
          if (!cp)
-           mu_error (_("Requested unknown configuration group `%s'"),
+           mu_error (_("unknown configuration group requested `%s'"),
                      cnames[i]);
          else
            mu_config_register_section (NULL, cp->name, NULL,
@@ -132,7 +132,7 @@ mu_parse_config_files (struct mu_cfg_param *param, void 
*target)
                            flags, target);
       if (rc)
        {
-         mu_error (_("Errors parsing file %s: %s"), mu_load_rcfile,
+         mu_error (_("errors parsing file %s: %s"), mu_load_rcfile,
                    mu_strerror (rc));
          return rc;
        }
diff --git a/libmu_cfg/ldap.c b/libmu_cfg/ldap.c
index 1b5e374..cf3a1a8 100644
--- a/libmu_cfg/ldap.c
+++ b/libmu_cfg/ldap.c
@@ -1,5 +1,5 @@
 /* This file is part of GNU Mailutils
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -32,7 +32,7 @@ _cb2_field_map (mu_debug_t debug, const char *arg, void *data)
   int rc = mutil_parse_field_map (arg, &ldap_settings.field_map, &err);
   if (rc)
     /* FIXME: this message may be misleading */
-    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("Error near element %d: %s"),
+    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("error near element %d: %s"),
                         err, mu_strerror (rc));
   return 0;
 }
diff --git a/libmu_cfg/sql.c b/libmu_cfg/sql.c
index 714cf3f..f21e309 100644
--- a/libmu_cfg/sql.c
+++ b/libmu_cfg/sql.c
@@ -1,5 +1,5 @@
 /* This file is part of GNU Mailutils
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -48,7 +48,7 @@ _cb2_field_map (mu_debug_t debug, const char *arg, void *data)
   int rc = mutil_parse_field_map (arg, &sql_settings.field_map, &err);
   if (rc)
     /* FIXME: this message may be misleading */
-    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("Error near element %d: %s"),
+    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("error near element %d: %s"),
                         err, mu_strerror (rc));
   return 0;
 }
diff --git a/libmu_sieve/actions.c b/libmu_sieve/actions.c
index ae0bf21..b3e56d8 100644
--- a/libmu_sieve/actions.c
+++ b/libmu_sieve/actions.c
@@ -439,7 +439,7 @@ sieve_action_redirect (mu_sieve_machine_t mach, mu_list_t 
args, mu_list_t tags)
   msg = mu_sieve_get_message (mach);
   if (check_redirect_loop (msg))
     {
-      mu_sieve_error (mach, _("%d: Redirection loop detected"),
+      mu_sieve_error (mach, _("%d: redirection loop detected"),
                   mu_sieve_get_message_num (mach));
       goto end;
     }
diff --git a/libmu_sieve/comparator.c b/libmu_sieve/comparator.c
index 352c31b..92de9af 100644
--- a/libmu_sieve/comparator.c
+++ b/libmu_sieve/comparator.c
@@ -169,11 +169,11 @@ _regex_compile (void *item, void *data)
       if (errbuf)
        {
          regerror (rc, preg, errbuf, size);
-         mu_sv_compile_error (&mu_sieve_locus, _("Regex error: %s"), errbuf);
+         mu_sv_compile_error (&mu_sieve_locus, _("regex error: %s"), errbuf);
          free (errbuf);
        }
       else
-       mu_sv_compile_error (&mu_sieve_locus, _("Regex error"));
+       mu_sv_compile_error (&mu_sieve_locus, _("regex error"));
       return rc;
     }
 
diff --git a/libmu_sieve/extensions/moderator.c 
b/libmu_sieve/extensions/moderator.c
index cf7f19f..acbf0e5 100644
--- a/libmu_sieve/extensions/moderator.c
+++ b/libmu_sieve/extensions/moderator.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
@@ -80,7 +80,7 @@ moderator_filter_message (mu_sieve_machine_t mach, mu_list_t 
tags,
       rc = mu_sieve_machine_inherit (mach, &newmach);
       if (rc)
        {
-         mu_sieve_error (mach, _("Cannot initialize sieve machine: %s"),
+         mu_sieve_error (mach, _("cannot initialize sieve machine: %s"),
                          mu_strerror (rc));
          return 1;
        }
@@ -234,7 +234,7 @@ moderator_message_get_part (mu_sieve_machine_t mach,
     }
   else
     {
-      mu_sieve_error (mach, _("No Content-Type header found"));
+      mu_sieve_error (mach, _("no Content-Type header found"));
       return 1;
     }
   return 0;
diff --git a/libmu_sieve/prog.c b/libmu_sieve/prog.c
index f7b69dd..79141ae 100644
--- a/libmu_sieve/prog.c
+++ b/libmu_sieve/prog.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2004, 
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -37,7 +37,7 @@ mu_sv_code (sieve_op_t *op)
                                             sizeof mu_sieve_machine->prog[0]);
       if (!newprog)
        {
-         mu_sv_compile_error (&mu_sieve_locus, _("out of memory!"));
+         mu_sv_compile_error (&mu_sieve_locus, _("not enough memory"));
          return 1;
        }
       mu_sieve_machine->prog = newprog;
diff --git a/libmu_sieve/sieve.l b/libmu_sieve/sieve.l
index 8322049..c66b872 100644
--- a/libmu_sieve/sieve.l
+++ b/libmu_sieve/sieve.l
@@ -152,7 +152,8 @@ push_source (const char *name)
   if (!fp)
     {
       mu_sv_compile_error (&mu_sieve_locus, 
-                           _("cannot open `%s': %s"), name, strerror (errno));
+                           _("cannot open file `%s': %s"),
+                          name, strerror (errno));
       return 1;
     }
 
@@ -506,7 +507,7 @@ line_add (char *text, size_t len)
   s = malloc (len + 1);
   if (!s)
     {
-      yyerror (_("Not enough memory"));
+      yyerror (_("not enough memory"));
       exit (1);
     }
   memcpy (s, text, len);
@@ -570,7 +571,7 @@ multiline_begin ()
       multiline_delimiter = strdup (".");
       if (!multiline_delimiter)
        {
-         yyerror (_("Not enough memory"));
+         yyerror (_("not enough memory"));
          exit (1);
        }
     }
@@ -625,7 +626,7 @@ ident (const char *text)
   yylval.string = strdup (text);
   if (!yylval.string)
     {
-      yyerror (_("Not enough memory"));
+      yyerror (_("not enough memory"));
       exit (1);
     }
 }
diff --git a/libproto/imap/folder.c b/libproto/imap/folder.c
index 9857f69..56dac5d 100644
--- a/libproto/imap/folder.c
+++ b/libproto/imap/folder.c
@@ -2342,7 +2342,7 @@ imap_parse (f_imap_t f_imap)
       if (!tag)
        {
          /* Just in case */
-         mu_error (_("No tag in response: %s %s"), response, remainder);
+         mu_error (_("no tag in response: %s %s"), response, remainder);
          status = MU_ERR_FAILURE;
        }
       /* Is the response untagged ?  */
@@ -2482,18 +2482,18 @@ imap_parse (f_imap_t f_imap)
                {
                  /* Not sure why we would get an untagged ok...but we do... */
                  /* Still should we be verbose about is ? */
-                 mu_error (_("Untagged OK: %s"), remainder);
+                 mu_error (_("untagged OK response: %s"), remainder);
                }
            }
          else if (mu_c_strcasecmp (response, "NO") == 0)
            {
              /* This does not mean failure but rather a strong warning.  */
-             mu_error (_("Untagged NO: %s"), remainder);
+             mu_error (_("untagged NO response: %s"), remainder);
            }
          else if (mu_c_strcasecmp (response, "BAD") == 0)
            {
              /* We're dead, protocol/syntax error.  */
-             mu_error (_("Untagged BAD: %s"), remainder);
+             mu_error (_("untagged BAD response: %s"), remainder);
            }
          else if (mu_c_strcasecmp (response, "PREAUTH") == 0)
            {
@@ -2591,7 +2591,7 @@ imap_parse (f_imap_t f_imap)
          else /* NO and BAD */
            {
              status = EINVAL;
-             mu_error (_("NO/Bad Tagged: %s %s %s"),
+             mu_error (_("NO or BAD tagged response: %s %s %s"),
                        tag, response, remainder);
            }
        }
diff --git a/libproto/mbox/mbox.c b/libproto/mbox/mbox.c
index 2d8fbdb..c129dc0 100644
--- a/libproto/mbox/mbox.c
+++ b/libproto/mbox/mbox.c
@@ -351,7 +351,7 @@ mbox_is_updated (mu_mailbox_t mailbox)
       mu_observable_notify (mailbox->observable, MU_EVT_MAILBOX_CORRUPT,
                            mailbox);
       /* And be verbose.  ? */
-      mu_error (_("* BAD : Mailbox corrupted, shrank in size"));
+      mu_diag_output (MU_DIAG_EMERG, _("mailbox corrupted, shrank in size"));
       /* FIXME: should I crash.  */
       return 0;
     }
@@ -466,7 +466,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
     {
       if (tmpmboxname)
        free (tmpmboxname);
-      mu_error (_("Failed to create temporary file when expunging"));
+      mu_error (_("failed to create temporary file when expunging"));
       return errno;
     }
 
@@ -532,7 +532,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
       mu_mailbox_destroy (&tmpmailbox);
       remove (tmpmboxname);
       free (tmpmboxname);
-      mu_error (_("Failed to grab the lock: %s"), mu_strerror (status));
+      mu_error (_("failed to grab the lock: %s"), mu_strerror (status));
       return status;
     }
 
@@ -584,7 +584,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
              status = mbox_get_message (mailbox, i + 1, &msg);
              if (status != 0)
                {
-                 mu_error (_("Error expunging:%d: %s"), __LINE__,
+                 mu_error (_("error expunging:%d: %s"), __LINE__,
                            mu_strerror (status));
                  goto bailout0;
                }
@@ -593,7 +593,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
                                         &total, 1, (i == save_imapbase));
          if (status != 0)
            {
-             mu_error (_("Error expunging:%d: %s"), __LINE__,
+             mu_error (_("error expunging:%d: %s"), __LINE__,
                        mu_strerror (status));
              goto bailout0;
            }
@@ -616,7 +616,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
                  || (status = mu_stream_write (tmpmailbox->stream, buffer, n,
                                             total, &n) != 0))
                {
-                 mu_error (_("Error expunging:%d: %s"), __LINE__,
+                 mu_error (_("error expunging:%d: %s"), __LINE__,
                            mu_strerror (status));
                  goto bailout0;
                }
@@ -628,7 +628,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
          status = mu_stream_write (tmpmailbox->stream, "\n", 1, total, &n);
          if (status != 0)
            {
-             mu_error (_("Error expunging:%d: %s"), __LINE__,
+             mu_error (_("error expunging:%d: %s"), __LINE__,
                        mu_strerror (status));
              goto bailout0;
            }
@@ -658,7 +658,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
                                       total, &n);
                if (status != 0)
                  {
-                   mu_error (_("Error expunging:%d: %s"), __LINE__,
+                   mu_error (_("error expunging:%d: %s"), __LINE__,
                              mu_strerror (status));
                    goto bailout0;
                  }
@@ -669,7 +669,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
        else if (len < 0)
          {
            /* Corrupted mailbox.  */
-           mu_error (_("Error expunging:%d: %s"), __LINE__,
+           mu_error (_("error expunging:%d: %s"), __LINE__,
                      mu_strerror (status));
            goto bailout0;
          }
@@ -690,7 +690,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
          status = mu_stream_write (mailbox->stream, buffer, n, offset, &n);
          if (status != 0)
            {
-             mu_error (_("Error expunging:%d: %s"), __LINE__,
+             mu_error (_("error expunging:%d: %s"), __LINE__,
                        mu_strerror (status));
              goto bailout;
            }
@@ -704,7 +704,7 @@ mbox_expunge0 (mu_mailbox_t mailbox, int remove_deleted)
   status = mu_stream_truncate (mailbox->stream, total + marker);
   if (status != 0)
     {
-      mu_error (_("Error expunging:%d: %s"), __LINE__,
+      mu_error (_("error expunging:%d: %s"), __LINE__,
                mu_strerror (status));
       goto bailout;
     }
diff --git a/maidag/deliver.c b/maidag/deliver.c
index 0bf750e..5424f8f 100644
--- a/maidag/deliver.c
+++ b/maidag/deliver.c
@@ -49,7 +49,7 @@ mda (mu_mailbox_t mbx, char *username)
   
   if ((status = mu_mailbox_get_message (mbx, 1, &msg)) != 0)
     {
-      maidag_error (_("Cannot get message from the temporary mailbox: %s"),
+      maidag_error (_("cannot get message from the temporary mailbox: %s"),
                    mu_strerror (status));
       return EX_TEMPFAIL;
     }
@@ -156,7 +156,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
   status = mu_mailbox_open (mbox, MU_STREAM_APPEND|MU_STREAM_CREAT);
   if (status != 0)
     {
-      maidag_error (_("Cannot open mailbox %s: %s"), 
+      maidag_error (_("cannot open mailbox %s: %s"), 
                     path, mu_strerror (status));
       return EX_TEMPFAIL;
     }
@@ -173,7 +173,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
 
       if (status)
        {
-         maidag_error (_("Cannot lock mailbox `%s': %s"), path,
+         maidag_error (_("cannot lock mailbox `%s': %s"), path,
                        mu_strerror (status));
          exit_code = EX_TEMPFAIL;
          return EX_TEMPFAIL;
@@ -189,7 +189,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
       
       if ((status = mu_mailbox_get_size (mbox, &mbsize)))
        {
-         maidag_error (_("Cannot get size of mailbox %s: %s"),
+         maidag_error (_("cannot get size of mailbox %s: %s"),
                        path, mu_strerror (status));
          if (status == ENOSYS)
            mbsize = 0; /* Try to continue anyway */
@@ -215,7 +215,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
        default:
          if ((status = mu_message_size (msg, &msg_size)))
            {
-             maidag_error (_("Cannot get message size (input message %s): %s"),
+             maidag_error (_("cannot get message size (input message %s): %s"),
                            path, mu_strerror (status));
              exit_code = EX_UNAVAILABLE;
              failed++;
@@ -243,7 +243,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
       status = mu_mailbox_append_message (mbox, msg);
       if (status)
        {
-         maidag_error (_("Error writing to mailbox %s: %s"),
+         maidag_error (_("error writing to mailbox %s: %s"),
                        path, mu_strerror (status));
          failed++;
        }
@@ -252,7 +252,7 @@ deliver_to_user (mu_mailbox_t mbox, mu_message_t msg,
          status = mu_mailbox_sync (mbox);
          if (status)
            {
-             maidag_error (_("Error flushing mailbox %s: %s"),
+             maidag_error (_("error flushing mailbox %s: %s"),
                            path, mu_strerror (status));
              failed++;
            }
@@ -341,14 +341,14 @@ deliver_url (mu_url_t url, mu_message_t msg, const char 
*name, char **errp)
       status = mu_url_create (&url, auth->mailbox);
       if (status)
        {
-         maidag_error (_("Cannot create URL for %s: %s"),
+         maidag_error (_("cannot create URL for %s: %s"),
                        auth->mailbox, mu_strerror (status));
          return exit_code = EX_UNAVAILABLE;
        }
       status = mu_url_parse (url);
       if (status)
        {
-         maidag_error (_("Error parsing URL %s: %s"),
+         maidag_error (_("error parsing URL %s: %s"),
                        auth->mailbox, mu_strerror (status));
          return exit_code = EX_UNAVAILABLE;
        }
@@ -358,7 +358,7 @@ deliver_url (mu_url_t url, mu_message_t msg, const char 
*name, char **errp)
 
   if (status)
     {
-      maidag_error (_("Cannot open mailbox %s: %s"),
+      maidag_error (_("cannot open mailbox %s: %s"),
                    mu_url_to_string (url),
                    mu_strerror (status));
       mu_url_destroy (&url);
diff --git a/maidag/lmtp.c b/maidag/lmtp.c
index c52b333..386debe 100644
--- a/maidag/lmtp.c
+++ b/maidag/lmtp.c
@@ -48,7 +48,7 @@ lmtp_reply (FILE *fp, char *code, char *enh, char *fmt, ...)
   
   if (!str)
     {
-      mu_error (_("Not enough memory"));
+      mu_error (_("not enough memory"));
       exit (EX_TEMPFAIL);
     }
 
@@ -176,7 +176,7 @@ add_default_domain (char *str, int len, char **pret)
   *pret = malloc (len + 1 + strlen (lhlo_domain) + 1);
   if (!*pret)
     {
-      mu_error (_("Not enough memory"));
+      mu_error (_("not enough memory"));
       exit (EX_SOFTWARE);
     }
   memcpy (*pret, str, len);
@@ -343,7 +343,7 @@ dot_deliver (void *item, void *cbdata)
   
   if ((status = mu_mailbox_get_message (mbox, 1, &msg)) != 0)
     {
-      mu_error (_("Cannot get message from the temporary mailbox: %s"),
+      mu_error (_("cannot get message from the temporary mailbox: %s"),
                mu_strerror (status));
       lmtp_reply (out, "450", "4.1.0",
                  "%s: temporary failure, try again later",
@@ -591,7 +591,7 @@ lmtp_set_privs ()
       gidset = calloc (size, sizeof (gidset[0]));
       if (!gidset)
        {
-         mu_error (_("Not enough memory"));
+         mu_error (_("not enough memory"));
          return EX_UNAVAILABLE;
        }
       if (mu_list_get_iterator (lmtp_groups, &itr) == 0)
@@ -607,7 +607,7 @@ lmtp_set_privs ()
       free (gidset);
       if (rc)
        {
-         mu_error(_("setgroups failed: %s"), mu_strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "setgroups", NULL, errno);
          return EX_UNAVAILABLE;
        }
     }
@@ -616,14 +616,14 @@ lmtp_set_privs ()
       struct group *gr = getgrnam ("mail");
       if (gr == NULL)
        {
-         mu_error (_("Error getting group `mail'"));
+         mu_diag_funcall (MU_DIAG_ERROR, "getgrnam", "mail", errno);
          return EX_UNAVAILABLE;
        }
       gid = gr->gr_gid;
     }
   if (setgid (gid) == -1)
     {
-      mu_error (_("Error setting mail group"));
+      mu_diag_funcall (MU_DIAG_ERROR, "setgid", "mail", errno);
       return EX_UNAVAILABLE;
     }
   return 0;
diff --git a/maidag/maidag.c b/maidag/maidag.c
index 6ca71a0..1744e03 100644
--- a/maidag/maidag.c
+++ b/maidag/maidag.c
@@ -222,7 +222,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
     case 'l':
       script_handler = script_lang_handler (arg);
       if (!script_handler)
-       argp_error (state, _("Unknown or unsupported language: %s"),
+       argp_error (state, _("unknown or unsupported language: %s"),
                    arg);
       break;
       
@@ -291,7 +291,7 @@ cb2_group (mu_debug_t debug, const char *gname, void *data)
     mu_list_create (plist);
   group = getgrnam (gname);
   if (!group)
-    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("Unknown group: %s"), gname);
+    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("unknown group: %s"), gname);
   else
     mu_list_append (*plist, (void*)group->gr_gid);
   return 0;
@@ -334,7 +334,7 @@ cb2_forward_file_checks (mu_debug_t debug, const char 
*name, void *data)
     str = name;
 
   if (mu_kwd_xlat_name_ci (forward_checks, str, &val))
-    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("Unknown keyword: %s"),
+    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("unknown keyword: %s"),
                         name);
   else
     {
@@ -361,7 +361,7 @@ cb_script_language (mu_debug_t debug, void *data, 
mu_config_value_t *val)
   if (!script_handler)
     {
       mu_cfg_format_error (debug, MU_DEBUG_ERROR,
-                          _("Unsupported language: %s"),
+                          _("unsupported language: %s"),
                           val->v.string);
       return 1;
     }
@@ -556,7 +556,7 @@ main (int argc, char *argv[])
     {
       if (argc)
        {
-         mu_error (_("Too many arguments"));
+         mu_error (_("too many arguments"));
          return EX_USAGE;
        }
       return maidag_lmtp_server ();
@@ -576,13 +576,13 @@ main (int argc, char *argv[])
              
              if (!current_uid)
                {
-                 mu_error (_("Cannot get username"));
+                 mu_error (_("cannot get username"));
                  return EX_UNAVAILABLE;
                }
              
              if (argc > 0 && strcmp (auth->name, argv[0]))
                {
-                 mu_error (_("Recipients given when running as non-root"));
+                 mu_error (_("recipients given when running as non-root"));
                  return EX_USAGE;
                }
              s_argv[0] = auth->name;
diff --git a/maidag/mailquota.c b/maidag/mailquota.c
index d5f29d7..f5c5f7b 100644
--- a/maidag/mailquota.c
+++ b/maidag/mailquota.c
@@ -62,7 +62,7 @@ get_size (char *str, mu_off_t *size, char **endp)
 int
 fail_retrieve_quota (char *name, mu_off_t *quota)
 {
-  mu_error (_("No quota retrieving mechanism"));
+  mu_error (_("no quota retrieving mechanism"));
   return RETR_FAILURE;
 }
 
@@ -81,7 +81,7 @@ dbm_retrieve_quota (char *name, mu_off_t *quota)
   
   if (mu_dbm_open (quotadbname, &db, MU_STREAM_READ, 0600))
     {
-      mu_error (_("Cannot open %s: %s"), quotadbname, mu_strerror (errno));
+      mu_error (_("cannot open file %s: %s"), quotadbname, mu_strerror 
(errno));
       return RETR_FAILURE;
     }
   
@@ -112,8 +112,8 @@ dbm_retrieve_quota (char *name, mu_off_t *quota)
       unlimited = 1;
   else if (MU_DATUM_SIZE (contentd) > sizeof(buffer)-1)
     {
-      mu_error (ngettext ("Mailbox quota for `%s' is too big: %d digit",
-                         "Mailbox quota for `%s' is too big: %d digits",
+      mu_error (ngettext ("mailbox quota for `%s' is too big: %d digit",
+                         "mailbox quota for `%s' is too big: %d digits",
                          MU_DATUM_SIZE (contentd)),
                name, MU_DATUM_SIZE (contentd));
       *quota = groupquota;
@@ -127,7 +127,7 @@ dbm_retrieve_quota (char *name, mu_off_t *quota)
       *quota = strtoul (buffer, &p, 0);
       if (get_size (buffer, quota, &p))
        {
-         mu_error (_("Bogus mailbox quota for `%s' (near `%s')"), name, p);
+         mu_error (_("bogus mailbox quota for `%s' (near `%s')"), name, p);
          *quota = groupquota;
        }
     }
@@ -205,7 +205,7 @@ sql_retrieve_quota (char *name, mu_off_t *quota)
 
   if (status)
     {
-      mu_error (_("Cannot store SQL result: %s"),
+      mu_error (_("cannot store SQL result: %s"),
                (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                                          mu_strerror (status));
       mu_sql_connection_destroy (&conn);
@@ -224,7 +224,7 @@ sql_retrieve_quota (char *name, mu_off_t *quota)
       status = mu_sql_get_column (conn, 0, 0, &tmp);
       if (status)
        {
-         mu_error (_("Cannot retrieve mailbox quota from SQL: %s"),
+         mu_error (_("cannot retrieve mailbox quota from SQL: %s"),
                    (status == MU_ERR_SQL) ?  mu_sql_strerror (conn) :
                    mu_strerror (status));
          rc = RETR_FAILURE;
@@ -237,7 +237,7 @@ sql_retrieve_quota (char *name, mu_off_t *quota)
          
          if (get_size (tmp, quota, &p))
            {
-             mu_error (_("Bogus mailbox quota for `%s' (near `%s')"),
+             mu_error (_("bogus mailbox quota for `%s' (near `%s')"),
                        name, p);
              *quota = groupquota;
            }
diff --git a/maidag/mailtmp.c b/maidag/mailtmp.c
index 162bf6e..5aead7d 100644
--- a/maidag/mailtmp.c
+++ b/maidag/mailtmp.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005, 
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ mail_tmp_begin (struct mail_tmp **pmtmp, const char *from)
                                       MU_STREAM_RDWR)))
     {
       free (mtmp);
-      maidag_error (_("Unable to open temporary file: %s"),
+      maidag_error (_("unable to open temporary file: %s"),
                    mu_strerror (status));
       return status;
     }
@@ -94,7 +94,7 @@ mail_tmp_add_line (struct mail_tmp *mtmp, char *buf, size_t 
buflen)
            }
          else
            {
-             maidag_error (_("Cannot determine sender address"));
+             maidag_error (_("cannot determine sender address"));
              return EINVAL;
            }
          if (auth)
@@ -112,7 +112,7 @@ mail_tmp_add_line (struct mail_tmp *mtmp, char *buf, size_t 
buflen)
       
   if (status)
     {
-      maidag_error (_("Error writing temporary file: %s"), 
+      maidag_error (_("error writing temporary file: %s"), 
                     mu_strerror (status));
       mu_stream_destroy (&mtmp->stream, mu_stream_get_owner (mtmp->stream));
     }
@@ -149,7 +149,7 @@ mail_tmp_finish (struct mail_tmp *mtmp, mu_mailbox_t *mbox)
       || (status = mu_mailbox_open (*mbox, MU_STREAM_READ))
       || (status = mu_mailbox_set_stream (*mbox, mtmp->stream)))
     {
-      maidag_error (_("Error opening temporary file: %s"), 
+      maidag_error (_("error opening temporary file: %s"), 
                     mu_strerror (status));
       mu_stream_destroy (&mtmp->stream, mu_stream_get_owner (mtmp->stream));
       return status;
@@ -159,7 +159,7 @@ mail_tmp_finish (struct mail_tmp *mtmp, mu_mailbox_t *mbox)
   if (status)
     {
       errno = status;
-      maidag_error (_("Error creating temporary message: %s"),
+      maidag_error (_("error creating temporary message: %s"),
                    mu_strerror (status));
       mu_stream_destroy (&mtmp->stream, mu_stream_get_owner (mtmp->stream));
       return status;
diff --git a/maidag/script.c b/maidag/script.c
index 8bd6aba..1a981b0 100644
--- a/maidag/script.c
+++ b/maidag/script.c
@@ -126,12 +126,9 @@ apply_script (void *item, void *data)
   if (stat (progfile, &st))
     {
       if (debug_level > 2)
-       mu_diag_output (MU_DIAG_DEBUG, _("cannot stat %s: %s"),
-                       progfile, mu_strerror (errno));
+       mu_diag_funcall (MU_DIAG_DEBUG, "stat", progfile, errno);
       else if (errno != ENOENT)
-       mu_diag_output (MU_DIAG_NOTICE, _("cannot stat %s: %s"),
-                       progfile, mu_strerror (errno));
-      
+       mu_diag_funcall (MU_DIAG_NOTICE, "stat", progfile, errno);
       free (progfile);
       return 0;
     }
diff --git a/mail/alias.c b/mail/alias.c
index 613c17a..ea9519c 100644
--- a/mail/alias.c
+++ b/mail/alias.c
@@ -160,14 +160,14 @@ alias_expand (const char *name)
       int status = mu_list_create (&list);
       if (status)
        {
-         mu_error (_("Cannot create list: %s"), mu_strerror (status));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_list_create", NULL, status);
          return NULL;
        }
       status = mu_list_create (&origlist);
       if (status)
        {
          mu_list_destroy (&origlist);
-         mu_error (_("Cannot create list: %s"), mu_strerror (status));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_list_create", NULL, status);
          return NULL;
        }
       mu_list_set_comparator (list, string_comp);
diff --git a/mail/cd.c b/mail/cd.c
index b88f46e..1ebf69d 100644
--- a/mail/cd.c
+++ b/mail/cd.c
@@ -37,7 +37,7 @@ mail_cd (int argc, char **argv)
 
   if (chdir (dir))
     {
-      mu_error (_("cannot change to `%s': %s"), dir, mu_strerror (errno));
+      mu_diag_funcall (MU_DIAG_ERROR, "chdir", dir, errno);
       return 1;
     }
   return 0;
diff --git a/mailbox/cfg_lexer.l b/mailbox/cfg_lexer.l
index 293af03..7d87d7e 100644
--- a/mailbox/cfg_lexer.l
+++ b/mailbox/cfg_lexer.l
@@ -340,7 +340,7 @@ mu_get_config (const char *file, const char *progname,
     }
 
   if (flags & MU_PARSE_CONFIG_VERBOSE)
-    mu_error (_("Info: parsing file `%s'"), file);
+    mu_diag_output (MU_DIAG_INFO, _("parsing file `%s'"), file);
 
   mu_cfg_set_lex_debug ();
   
@@ -357,7 +357,7 @@ mu_get_config (const char *file, const char *progname,
   mu_cfg_destroy_tree (&parse_tree);
 
   if (flags & MU_PARSE_CONFIG_VERBOSE)
-    mu_error (_("Info: finished parsing file `%s'"), file);
+    mu_diag_output (MU_DIAG_INFO, _("finished parsing file `%s'"), file);
   
   return rc == 0 ? 0 : MU_ERR_FAILURE;
 }
diff --git a/mailbox/cfg_parser.y b/mailbox/cfg_parser.y
index 25bf878..559609f 100644
--- a/mailbox/cfg_parser.y
+++ b/mailbox/cfg_parser.y
@@ -1,6 +1,6 @@
 %{
 /* cfg_parser.y -- general-purpose configuration file parser 
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -273,7 +273,7 @@ vallist : vlist
                val.v.arg.v = mu_alloc (n * sizeof (val.v.arg.v[0]));
                if (!val.v.arg.v)
                  {
-                   mu_cfg_perror (&mu_cfg_locus, _("Not enough memory"));
+                   mu_cfg_perror (&mu_cfg_locus, _("not enough memory"));
                    abort();
                  }
                
@@ -294,7 +294,7 @@ vlist   : value
              int rc = mu_list_create (&$$);
              if (rc)
                {
-                 mu_cfg_perror (&mu_cfg_locus, _("Cannot create list: %s"),
+                 mu_cfg_perror (&mu_cfg_locus, _("cannot create list: %s"),
                                 mu_strerror (rc));
                  abort ();
                }
diff --git a/mailbox/diag.c b/mailbox/diag.c
index 1af7a71..1efe746 100644
--- a/mailbox/diag.c
+++ b/mailbox/diag.c
@@ -1,5 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 1999, 2000, 2001, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2001, 2005, 2007,
+   2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -125,30 +126,30 @@ mu_diag_level_to_string (mu_log_level_t level)
   switch (level)
     {
     case MU_DIAG_EMERG:
-      return _("Emergency");
+      return _("emergency");
       
     case MU_DIAG_ALERT:
-      return _("Alert");
+      return _("alert");
        
     case MU_DIAG_CRIT:
-      return _("Critical");
+      return _("critical");
       
     case MU_DIAG_ERROR:
-      return _("Error");
+      return _("error");
       
     case MU_DIAG_WARNING:
-      return _("Warning");
+      return _("warning");
       
     case MU_DIAG_NOTICE:
-      return _("Notice");
+      return _("notice");
       
     case MU_DIAG_INFO:
-      return _("Info");
+      return _("info");
       
     case MU_DIAG_DEBUG:
-      return _("Debug");
+      return _("debug");
     }
-  return _("Unknown");
+  return _("unknown");
 }
 
 int
@@ -161,3 +162,18 @@ mu_diag_stderr_printer (void *data, mu_log_level_t level, 
const char *buf)
   fputs (buf, stderr);
   return 0;
 }
+
+void
+mu_diag_funcall (mu_log_level_t level, const char *func,
+                const char *arg, int err)
+{
+  if (err)
+    /* TRANSLATORS: First %s stands for function name, second for its
+       arguments, third one for the actual error message. */
+    mu_diag_output (level, _("%s(%s) failed: %s"), func, arg ? arg : "",
+                   mu_strerror (err));
+  else
+    /* TRANSLATORS: First %s stands for function name, second for its
+       arguments. */
+    mu_diag_output (level, _("%s(%s) failed"), func, arg ? arg : "");
+}
diff --git a/mailbox/file_stream.c b/mailbox/file_stream.c
index e4d1ebf..b773768 100644
--- a/mailbox/file_stream.c
+++ b/mailbox/file_stream.c
@@ -522,7 +522,7 @@ _file_open (mu_stream_t stream)
              || filebuf.st_nlink != 1
              || (fdbuf.st_mode & S_IFMT) != S_IFREG))
        {
-         mu_error (_("%s must be a plain file with one link\n"), filename);
+         mu_error (_("%s must be a plain file with one link"), filename);
          close (fd);
          return EINVAL;
        }
diff --git a/mailbox/gocs.c b/mailbox/gocs.c
index 3ca250b..220f1db 100644
--- a/mailbox/gocs.c
+++ b/mailbox/gocs.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -58,7 +58,7 @@ mu_gocs_mailbox_init (enum mu_gocs_op op, void *data)
        {
          rc = mu_set_mail_directory (p->mail_spool);
          if (rc)
-           mu_error (_("Cannot set mail directory name to `%s': %s"),
+           mu_error (_("cannot set mail directory name to `%s': %s"),
                      p->mail_spool, mu_strerror (rc));
          free (p->mail_spool);
          p->mail_spool = NULL;
@@ -67,7 +67,7 @@ mu_gocs_mailbox_init (enum mu_gocs_op op, void *data)
        {
          rc = mu_set_mailbox_pattern (p->mailbox_pattern);
          if (rc)
-           mu_error (_("Cannot set mailbox pattern to `%s': %s"),
+           mu_error (_("cannot set mailbox pattern to `%s': %s"),
                      p->mailbox_pattern, mu_strerror (rc));
          free (p->mailbox_pattern);
          p->mailbox_pattern = NULL;
@@ -75,7 +75,7 @@ mu_gocs_mailbox_init (enum mu_gocs_op op, void *data)
       if (p->mailbox_type)
        {
          if (mu_registrar_set_default_scheme (p->mailbox_type))
-           mu_error (_("Invalid mailbox type: %s"), p->mailbox_type);
+           mu_error (_("invalid mailbox type: %s"), p->mailbox_type);
          free (p->mailbox_type);
          p->mailbox_type = NULL;
        }
@@ -117,7 +117,7 @@ mu_gocs_locking_init (enum mu_gocs_op op, void *data)
              break;
              
            default:
-             mu_error (_("Invalid lock flag `%c'"), *s);
+             mu_error (_("invalid lock flag `%c'"), *s);
            }
        }
       mu_locker_set_default_flags (flags, mu_locker_assign);
@@ -168,7 +168,7 @@ mu_gocs_source_email_init (enum mu_gocs_op op, void *data)
   if (p->address)
     {
       if ((rc = mu_set_user_email (p->address)) != 0)
-       mu_error (_("Invalid email address `%s': %s"),
+       mu_error (_("invalid email address `%s': %s"),
                  p->address, mu_strerror (rc));
       free (p->address);
       p->address = NULL;
@@ -177,7 +177,7 @@ mu_gocs_source_email_init (enum mu_gocs_op op, void *data)
   if (p->domain)
     {
       if ((rc = mu_set_user_email_domain (p->domain)) != 0)
-       mu_error (_("Invalid email domain `%s': %s"),
+       mu_error (_("invalid email domain `%s': %s"),
                  p->domain, mu_strerror (rc));
 
       free (p->domain);
@@ -198,7 +198,7 @@ mu_gocs_mailer_init (enum mu_gocs_op op, void *data)
   if (p->mailer)
     {
       if ((rc = mu_mailer_set_url_default (p->mailer)) != 0)
-       mu_error (_("Invalid mailer URL `%s': %s"),
+       mu_error (_("invalid mailer URL `%s': %s"),
                  p->mailer, mu_strerror (rc));
       free (p->mailer);
       p->mailer = NULL;
@@ -268,7 +268,7 @@ mu_gocs_register (const char *capa, mu_gocs_init_fp init)
   for (i = 0; _gocs_table[i].name; i++)
     if (i == MAX_GOCS-1)
       {
-       mu_error (_("Gocs table overflow"));
+       mu_error (_("gocs table overflow"));
        abort ();
       }
   _gocs_table[i].name = capa;
@@ -385,7 +385,7 @@ _gocs_flush (void *item, void *data)
 
   if (initfun (mu_gocs_op_set, s->data))
     {
-      mu_error (_("Initialization of GOCS `%s' failed"), s->capa);
+      mu_error (_("initialization of GOCS `%s' failed"), s->capa);
       return 1;
     }
   
diff --git a/mailbox/msrv.c b/mailbox/msrv.c
index 29c2a0f..a318371 100644
--- a/mailbox/msrv.c
+++ b/mailbox/msrv.c
@@ -400,7 +400,7 @@ mu_m_server_set_default_address (mu_m_server_t srv, struct 
sockaddr *sa,
 {
   if (salen > sizeof srv->defaddr.s)
     {
-      mu_error (_("Unhandled sockaddr size"));
+      mu_error (_("unhandled sockaddr size"));
       abort ();
     }
   memcpy (&srv->defaddr.s.s_sa, sa, salen);
@@ -522,7 +522,7 @@ mu_m_server_begin (mu_m_server_t msrv)
         first three one, in, out, err   */
       if (daemon (0, 0) < 0)
        {
-         mu_error (_("Failed to become a daemon: %s"), mu_strerror (errno));
+         mu_error (_("failed to become a daemon: %s"), mu_strerror (errno));
          exit (EXIT_FAILURE);
        }
     }
@@ -534,7 +534,7 @@ mu_m_server_begin (mu_m_server_t msrv)
        break;
        
       case EINVAL:
-       mu_error (_("%s: Invalid name for a pidfile"), msrv->pidfile);
+       mu_error (_("%s: invalid name for a pidfile"), msrv->pidfile);
        break;
        
       default:
@@ -614,7 +614,7 @@ _open_conn (void *item, void *data)
     {
       mu_ip_server_get_sockaddr (tcpsrv, &addr.sa, &addrlen);
       p = mu_sockaddr_to_astr (&addr.sa, addrlen);
-      mu_error (_("Cannot open connection on %s: %s"), p, mu_strerror (rc));
+      mu_error (_("cannot open connection on %s: %s"), p, mu_strerror (rc));
       free (p);
       return 0;
     }
@@ -626,7 +626,7 @@ _open_conn (void *item, void *data)
     {
       mu_ip_server_get_sockaddr (tcpsrv, &addr.sa, &addrlen);
       p = mu_sockaddr_to_astr (&addr.sa, addrlen);
-      mu_error (_("Cannot add connection %s: %s"), p, mu_strerror (rc));
+      mu_error (_("cannot add connection %s: %s"), p, mu_strerror (rc));
       free (p);
       mu_ip_server_shutdown (tcpsrv);
       mu_ip_server_destroy (&tcpsrv);
@@ -646,7 +646,7 @@ mu_m_server_run (mu_m_server_t msrv)
   MU_ASSERT (mu_server_count (msrv->server, &count));
   if (count == 0)
     {
-      mu_error (_("No servers configured: exiting"));
+      mu_error (_("no servers configured: exiting"));
       exit (1);
     }
   if (msrv->ident)
@@ -670,7 +670,7 @@ mu_m_server_check_acl (mu_m_server_t msrv, struct sockaddr 
*s, int salen)
       if (rc)
        {
          char *p = mu_sockaddr_to_astr (s, salen);
-         mu_error (_("Access from %s blocked: cannot check ACLs: %s"),
+         mu_error (_("access from %s blocked: cannot check ACLs: %s"),
                    p, mu_strerror (rc));
          free (p);
          return 1;
@@ -693,7 +693,7 @@ mu_m_server_check_acl (mu_m_server_t msrv, struct sockaddr 
*s, int salen)
        case mu_acl_result_deny:
          {
            char *p = mu_sockaddr_to_astr (s, salen);
-           mu_error (_("Access from %s blocked."), p);
+           mu_error (_("access from %s blocked"), p);
            free (p);
            return 1;
          }
diff --git a/mailbox/mutil.c b/mailbox/mutil.c
index c79366e..67ff755 100644
--- a/mailbox/mutil.c
+++ b/mailbox/mutil.c
@@ -614,7 +614,7 @@ mu_tempfile (const char *tmpdir, char **namep)
 
   if (fd == -1)
     {
-      mu_error (_("Cannot open temporary file: %s"), mu_strerror (errno));
+      mu_error (_("cannot open temporary file: %s"), mu_strerror (errno));
       free (filename);
       return -1;
     }
diff --git a/mailbox/registrar.c b/mailbox/registrar.c
index 4d0766c..aa17fea 100644
--- a/mailbox/registrar.c
+++ b/mailbox/registrar.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006,
-   2007 Free Software Foundation, Inc.
+   2007, 2009 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -104,7 +104,7 @@ mu_registrar_get_list (mu_list_t *plist)
 
   if (!warned)
     {
-      mu_error (_("Program uses mu_registrar_get_list(), which is 
deprecated"));
+      mu_error (_("program uses mu_registrar_get_list(), which is 
deprecated"));
       warned = 1;
     }
   return _registrar_get_list (plist);
diff --git a/messages/messages.c b/messages/messages.c
index 66c9e75..23c3058 100644
--- a/messages/messages.c
+++ b/messages/messages.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -142,10 +142,10 @@ messages_count (const char *box)
   if (status != 0)
     {
       if (box)
-       mu_error (_("Could not create mailbox `%s': %s"),
+       mu_error (_("could not create mailbox `%s': %s"),
                  box, mu_strerror (status));
       else
-       mu_error (_("Could not create default mailbox: %s"),
+       mu_error (_("could not create default mailbox: %s"),
                  mu_strerror (status));
       return -1;
     }
@@ -156,7 +156,7 @@ messages_count (const char *box)
   status =  mu_mailbox_open (mbox, MU_STREAM_READ);
   if (status != 0)
     {
-      mu_error (_("Could not open mailbox `%s': %s"),
+      mu_error (_("could not open mailbox `%s': %s"),
                box, mu_strerror (status));
       return -1;
     }
@@ -164,7 +164,7 @@ messages_count (const char *box)
   status = mu_mailbox_messages_count (mbox, &count);
   if (status != 0)
     {
-      mu_error (_("Could not count messages in mailbox `%s': %s"),
+      mu_error (_("could not count messages in mailbox `%s': %s"),
                box, mu_strerror (status));
       return -1;
     }
@@ -177,7 +177,7 @@ messages_count (const char *box)
   status = mu_mailbox_close (mbox);
   if (status != 0)
     {
-      mu_error (_("Could not close `%s': %s"),
+      mu_error (_("could not close `%s': %s"),
                box, mu_strerror (status));
       return -1;
     }
diff --git a/mh/folder.c b/mh/folder.c
index 9a20f69..0e6ad01 100644
--- a/mh/folder.c
+++ b/mh/folder.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -151,7 +151,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
          char *p;
          pack_start = strtoul (arg, &p, 10);
          if (*p)
-           argp_error (state, _("Invalid number"));
+           argp_error (state, _("invalid number"));
        }
       break;
       
@@ -327,7 +327,7 @@ _scan (const char *name, size_t depth)
 
   if (!dir)
     {
-      mu_error (_("Cannot scan folder %s: %s"), name, strerror (errno));
+      mu_error (_("cannot scan folder %s: %s"), name, strerror (errno));
       return;
     }
 
@@ -362,7 +362,7 @@ _scan (const char *name, size_t depth)
        {
          asprintf (&p, "%s/%s", name, entry->d_name);
          if (stat (p, &st) < 0)
-           mu_error (_("Cannot stat %s: %s"), p, strerror (errno));
+           mu_diag_funcall (MU_DIAG_ERROR, "stat", p, errno);
          else if (S_ISDIR (st.st_mode))
            {
              info.others++;
@@ -531,15 +531,16 @@ action_list ()
 static void
 get_stack (int *pc, char ***pv)
 {
+  int status;
   const char *stack = mh_global_context_get ("Folder-Stack", NULL);
   if (!stack)
     {
       *pc = 0;
       *pv = NULL;
     }
-  else if (mu_argcv_get (stack, NULL, "#", pc, pv))
+  else if ((status = mu_argcv_get (stack, NULL, "#", pc, pv)) != 0)
     {
-      mu_error (_("Cannot split line %s"), stack);
+      mu_diag_funcall (MU_DIAG_ERROR, "mu_argcv_get", stack, status);
       exit (1);
     }
 }
@@ -722,7 +723,7 @@ roll_back (const char *folder_name, struct pack_tab 
*pack_tab, size_t i)
     return;
   
   start = i - 1;
-  mu_error (_("Rolling back changes..."));
+  mu_error (_("rolling back changes..."));
   while (--i >= 0)
     if (pack_rename (pack_tab + i, 1))
       {
@@ -737,7 +738,7 @@ roll_back (const char *folder_name, struct pack_tab 
*pack_tab, size_t i)
        mu_error (_("You will have to fix it manually."));
        exit (1);
       }
-  mu_error (_("Folder `%s' restored successfully"), folder_name);
+  mu_error (_("folder `%s' restored successfully"), folder_name);
 }
 
 struct fixup_data
@@ -846,7 +847,7 @@ action_pack ()
   /* Allocate pack table */
   if (mu_mailbox_messages_count (mbox, &count))
     {
-      mu_error (_("Cannot read input mailbox: %s"), mu_strerror (errno));
+      mu_error (_("cannot read input mailbox: %s"), mu_strerror (errno));
       return 1;
     }
   pack_tab = xcalloc (count, sizeof pack_tab[0]); /* Never freed. No use to
@@ -968,7 +969,7 @@ main (int argc, char **argv)
     }
   else if (argc - index > 1)
     {
-      mu_error (_("Too many arguments"));
+      mu_error (_("too many arguments"));
       exit (1);
     }
   
diff --git a/mh/forw.c b/mh/forw.c
index 977c347..a3da894 100644
--- a/mh/forw.c
+++ b/mh/forw.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 2003, 2005, 2006, 2007, 
-   2008 Free Software Foundation, Inc.
+   2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -158,7 +158,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, NULL, 0);
       if (!width)
        {
-         argp_error (state, _("Invalid width"));
+         argp_error (state, _("invalid width"));
          exit (1);
        }
       break;
@@ -206,7 +206,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
     case ARG_INPLACE:
     case ARG_WHATNOWPROC:
     case ARG_NOWHATNOWPROC:
-      argp_error (state, _("Option is not yet implemented"));
+      argp_error (state, _("option is not yet implemented"));
       exit (1);
       
     case ARG_LICENSE:
@@ -340,7 +340,7 @@ finish_draft ()
                                   MU_STREAM_WRITE|MU_STREAM_CREAT)) != 0
       || (rc = mu_stream_open (stream)))
     {
-      mu_error (_("Cannot open output file `%s': %s"),
+      mu_error (_("cannot open output file `%s': %s"),
                wh_env.file, mu_strerror (rc));
       exit (1);
     }
diff --git a/mh/inc.c b/mh/inc.c
index 3ebd4ae..c022ae1 100644
--- a/mh/inc.c
+++ b/mh/inc.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003,
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -133,7 +133,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, NULL, 0);
       if (!width)
        {
-         argp_error (state, _("Invalid width"));
+         argp_error (state, _("invalid width"));
          exit (1);
        }
       break;
@@ -196,7 +196,7 @@ main (int argc, char **argv)
     {
       if ((rc = mu_mailbox_create_default (&input, NULL)) != 0)
        {
-         mu_error (_("Cannot create default mailbox: %s"),
+         mu_error (_("cannot create default mailbox: %s"),
                    mu_strerror (rc));
          exit (1);
        }
@@ -205,7 +205,7 @@ main (int argc, char **argv)
     }
   else if ((rc = mu_mailbox_create_default (&input, input_file)) != 0)
     {
-      mu_error (_("Cannot create mailbox %s: %s"),
+      mu_error (_("cannot create mailbox %s: %s"),
                input_file, mu_strerror (rc));
       exit (1);
     }
@@ -214,7 +214,7 @@ main (int argc, char **argv)
     {
       mu_url_t url;
       mu_mailbox_get_url (input, &url);
-      mu_error (_("Cannot open mailbox %s: %s"),
+      mu_error (_("cannot open mailbox %s: %s"),
                mu_url_to_string (url),
                mu_strerror (errno));
       exit (1);
@@ -222,14 +222,14 @@ main (int argc, char **argv)
 
   if ((rc = mu_mailbox_messages_count (input, &total)) != 0)
     {
-      mu_error (_("Cannot read input mailbox: %s"), mu_strerror (errno));
+      mu_error (_("cannot read input mailbox: %s"), mu_strerror (errno));
       exit (1);
     }
 
   output = mh_open_folder (append_folder, 1);
   if ((rc = mu_mailbox_messages_count (output, &lastmsg)) != 0)
     {
-      mu_error (_("Cannot read output mailbox: %s"),
+      mu_error (_("cannot read output mailbox: %s"),
                mu_strerror (errno));
       exit (1);
     }
diff --git a/mh/mark.c b/mh/mark.c
index 78f8260..53b8cc5 100644
--- a/mh/mark.c
+++ b/mh/mark.c
@@ -1,5 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2005, 2006, 2007, 2008,
+   2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -68,7 +69,7 @@ add_sequence (char *name)
 {
   if (!seq_list && mu_list_create (&seq_list))
     {
-      mu_error (_("Cannot create sequence list"));
+      mu_error (_("cannot create sequence list"));
       exit (1);
     }
   mu_list_append (seq_list, name);
diff --git a/mh/mh_ctx.c b/mh/mh_ctx.c
index 6d3bb56..c7b1a0e 100644
--- a/mh/mh_ctx.c
+++ b/mh/mh_ctx.c
@@ -141,7 +141,7 @@ mh_context_write (mh_context_t *ctx)
   fp = fopen (ctx->name, "w");
   if (!fp)
     {
-      mu_error (_("Cannot open context file %s: %s"),
+      mu_error (_("cannot open context file %s: %s"),
                ctx->name, strerror (errno));
       return MU_ERR_FAILURE;
     }
@@ -180,7 +180,7 @@ mh_context_set_value (mh_context_t *ctx, const char *name, 
const char *value)
       int rc;
       if ((rc = mu_header_create (&ctx->header, NULL, 0, NULL)) != 0)
        {
-         mu_error (_("Cannot create context %s: %s"),
+         mu_error (_("cannot create context %s: %s"),
                    ctx->name,
                    mu_strerror (rc));
          return 1;
diff --git a/mh/mh_fmtgram.y b/mh/mh_fmtgram.y
index 845fd12..d1b0841 100644
--- a/mh/mh_fmtgram.y
+++ b/mh/mh_fmtgram.y
@@ -638,7 +638,7 @@ mh_code_builtin (mh_builtin_t *bp, int argtype)
            }
          else
            {
-             mu_error (_("Missing argument for %s"), bp->name);
+             mu_error (_("missing argument for %s"), bp->name);
              return 0;
            }
        }
@@ -647,7 +647,7 @@ mh_code_builtin (mh_builtin_t *bp, int argtype)
          switch (bp->argtype)
            {
            case mhtype_none:
-             mu_error (_("Extra arguments to %s"), bp->name);
+             mu_error (_("extra arguments to %s"), bp->name);
              return 0;
              
            case mhtype_num:
diff --git a/mh/mh_format.c b/mh/mh_format.c
index 520a073..04552ad 100644
--- a/mh/mh_format.c
+++ b/mh/mh_format.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 
-   2005, 2006, 2007 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1814,7 +1814,7 @@ builtin_rcpt (struct mh_machine *mach)
   int rc = mh_decode_rcpt_flag (strobj_ptr (&mach->arg_str));
   if (rc == RCPT_NONE)
     {
-      mu_error (_("Invalid recipient mask"));
+      mu_error (_("invalid recipient mask"));
       /* try to continue anyway */
     }
   mach->arg_num = rc & rcpt_mask;
diff --git a/mh/mh_init.c b/mh/mh_init.c
index fff162d..820d6f6 100644
--- a/mh/mh_init.c
+++ b/mh/mh_init.c
@@ -69,14 +69,14 @@ mh_read_formfile (char *name, char **pformat)
 
   if (stat (name, &st))
     {
-      mu_error (_("Cannot stat format file %s: %s"), name, strerror (errno));
+      mu_error (_("cannot stat format file %s: %s"), name, strerror (errno));
       return -1;
     }
   
   fp = fopen (name, "r");
   if (!fp)
     {
-      mu_error (_("Cannot open format file %s: %s"), name, strerror (errno));
+      mu_error (_("cannot open format file %s: %s"), name, strerror (errno));
       return -1;
     }
 
@@ -111,7 +111,7 @@ mh_read_formfile (char *name, char **pformat)
 void
 mh_err_memory (int fatal)
 {
-  mu_error (_("Not enough memory"));
+  mu_error (_("not enough memory"));
   if (fatal)
     abort ();
 }
@@ -127,7 +127,7 @@ mh_get_my_name (char *name)
       struct passwd *pw = getpwuid (getuid ());
       if (!pw)
        {
-         mu_error (_("Cannot determine my username"));
+         mu_error (_("cannot determine my username"));
          return;
        }
       name = pw->pw_name;
@@ -230,13 +230,13 @@ make_dir_hier (const char *p, mode_t perm)
        {
          if (errno != ENOENT)
            {
-             mu_error (_("Cannot create directory %s: error accessing name 
component %s: %s"),
+             mu_error (_("cannot create directory %s: error accessing name 
component %s: %s"),
 
                        p, dir, strerror (errno));
              rc = 1;
            }
          else if ((rc = mkdir (dir, perm)))
-           mu_error (_("Cannot create directory %s: error creating name 
component %s: %s"),
+           mu_error (_("cannot create directory %s: error creating name 
component %s: %s"),
                      p, dir, mu_strerror (rc));
        }
       *q = '/';
@@ -261,7 +261,7 @@ mh_makedir (const char *p)
     {
       rc = mkdir (p, perm);
       if (rc)
-       mu_error (_("Cannot create directory %s: %s"),
+       mu_error (_("cannot create directory %s: %s"),
                  p, strerror (errno));
     }
 
@@ -284,14 +284,14 @@ mh_check_folder (const char *pathname, int confirm)
     {
       if (errno == ENOENT)
        {
-         if (!confirm || mh_getyn (_("Create folder \"%s\""), p))
+         if (!confirm || mh_getyn (_("create folder \"%s\""), p))
            return mh_makedir (p);
          else
            return 1;
        }
       else
        {
-         mu_error (_("Cannot stat %s: %s"), p, strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "stat", p, errno);
          return 1;
        }
     }
@@ -382,7 +382,7 @@ mh_audit_open (char *name, mu_mailbox_t mbox)
       asprintf (&p, "%s/%s", mu_folder_directory (), namep);
       if (!p)
        {
-         mu_error (_("Not enough memory"));
+         mu_error (_("not enough memory"));
          exit (1);
        }
       free (namep);
@@ -392,7 +392,7 @@ mh_audit_open (char *name, mu_mailbox_t mbox)
   fp = fopen (namep, "a");
   if (!fp)
     {
-      mu_error (_("Cannot open audit file %s: %s"), namep, strerror (errno));
+      mu_error (_("cannot open audit file %s: %s"), namep, strerror (errno));
       free (namep);
       return NULL;
     }
@@ -435,7 +435,7 @@ mh_open_folder (const char *folder, int create)
     
   if (mu_mailbox_create_default (&mbox, name))
     {
-      mu_error (_("Cannot create mailbox %s: %s"),
+      mu_error (_("cannot create mailbox %s: %s"),
                name, strerror (errno));
       exit (1);
     }
@@ -445,7 +445,7 @@ mh_open_folder (const char *folder, int create)
   
   if (mu_mailbox_open (mbox, flags))
     {
-      mu_error (_("Cannot open mailbox %s: %s"), name, strerror (errno));
+      mu_error (_("cannot open mailbox %s: %s"), name, strerror (errno));
       exit (1);
     }
 
@@ -523,7 +523,7 @@ mh_iterate (mu_mailbox_t mbox, mh_msgset_t *msgset,
       num = msgset->list[i];
       if ((rc = mu_mailbox_get_message (mbox, num, &msg)) != 0)
        {
-         mu_error (_("Cannot get message %d: %s"), num, mu_strerror (rc));
+         mu_error (_("cannot get message %d: %s"), num, mu_strerror (rc));
          return 1;
        }
 
@@ -539,9 +539,9 @@ mh_spawnp (const char *prog, const char *file)
   int argc, i, rc, status;
   char **argv, **xargv;
 
-  if (mu_argcv_get (prog, "", "#", &argc, &argv))
+  if ((rc = mu_argcv_get (prog, "", "#", &argc, &argv)) != 0)
     {
-      mu_error (_("Cannot split line %s"), prog);
+      mu_diag_funcall (MU_DIAG_ERROR, "mu_argcv_get", prog, rc);
       mu_argcv_free (argc, argv);
       return 1;
     }
@@ -593,7 +593,7 @@ mh_file_copy (const char *from, const char *to)
   if ((rc = mu_file_stream_create (&in, from, MU_STREAM_READ)) != 0
       || (rc = mu_stream_open (in)))
     {
-      mu_error (_("Cannot open input file `%s': %s"),
+      mu_error (_("cannot open input file `%s': %s"),
                from, mu_strerror (rc));
       free (buffer);
       return 1;
@@ -602,7 +602,7 @@ mh_file_copy (const char *from, const char *to)
   if ((rc = mu_file_stream_create (&out, to, MU_STREAM_RDWR|MU_STREAM_CREAT)) 
!= 0
       || (rc = mu_stream_open (out)))
     {
-      mu_error (_("Cannot open output file `%s': %s"),
+      mu_error (_("cannot open output file `%s': %s"),
                to, mu_strerror (rc));
       free (buffer);
       mu_stream_close (in);
@@ -616,7 +616,7 @@ mh_file_copy (const char *from, const char *to)
     {
       if ((rc = mu_stream_sequential_write (out, buffer, rdsize)) != 0)
        {
-         mu_error (_("Write error on `%s': %s"),
+         mu_error (_("write error on `%s': %s"),
                    to, mu_strerror (rc));
          break;
        }
@@ -642,20 +642,20 @@ _file_to_message (const char *file_name)
 
   if (stat (file_name, &st) < 0)
     {
-      mu_error (_("Cannot stat file %s: %s"), file_name, strerror (errno));
+      mu_error (_("cannot stat file %s: %s"), file_name, strerror (errno));
       return NULL;
     }
   
   if ((rc = mu_file_stream_create (&instream, file_name, MU_STREAM_READ)))
     {
-      mu_error (_("Cannot create input stream (file %s): %s"),
+      mu_error (_("cannot create input stream (file %s): %s"),
                file_name, mu_strerror (rc));
       return NULL;
     }
   
   if ((rc = mu_stream_open (instream)))
     {
-      mu_error (_("Cannot open input stream (file %s): %s"),
+      mu_error (_("cannot open input stream (file %s): %s"),
                file_name, mu_strerror (rc));
       mu_stream_destroy (&instream, mu_stream_get_owner (instream));
       return NULL;
@@ -749,7 +749,7 @@ mh_real_install (char *name, int automode)
   fp = fopen (name, "w");
   if (!fp)
     {
-      mu_error (_("Cannot open file %s: %s"), name, mu_strerror (errno));
+      mu_error (_("cannot open file %s: %s"), name, mu_strerror (errno));
       exit (1);
     }
   fprintf (fp, "Path: %s\n", mhdir);
@@ -785,7 +785,7 @@ mh_install (char *name, int automode)
        }
       else
        {
-         mu_error(_("Cannot stat %s: %s"), name, mu_strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "stat", name, errno);
          exit (1);
        }
     }
@@ -982,7 +982,7 @@ mh_draft_message (const char *name, const char *msgspec, 
char **pname)
     {
       rc = mu_mailbox_uidnext (mbox, &uid);
       if (rc)
-       mu_error (_("Cannot obtain sequence number for the new message: %s"),
+       mu_error (_("cannot obtain sequence number for the new message: %s"),
                  mu_strerror (rc));
     }
   else
@@ -994,7 +994,7 @@ mh_draft_message (const char *name, const char *msgspec, 
char **pname)
       argv[1] = NULL;
       rc = mh_msgset_parse (mbox, &msgset, 1, argv, "cur");
       if (rc)
-       mu_error (_("Invalid message number: %s"), msgspec);
+       mu_error (_("invalid message number: %s"), msgspec);
       else if (msgset.count > 1)
        mu_error (_("only one message at a time!"));
       else
diff --git a/mh/mh_list.c b/mh/mh_list.c
index ac9fc59..99f369e 100644
--- a/mh/mh_list.c
+++ b/mh/mh_list.c
@@ -132,13 +132,15 @@ parse_cleartext (locus_t *loc, mu_list_t formlist, char 
*str)
 static void
 parse_component (locus_t *loc, mu_list_t formlist, char *compname, char *str)
 {
+  int rc;
   mhl_stmt_t *stmt = stmt_alloc (stmt_component);
   stmt->v.component.name = compname;
-  if (mu_list_create (&stmt->v.component.format))
+  if ((rc = mu_list_create (&stmt->v.component.format)) != 0)
     {
-      mu_error (_("%s:%d: cannot create list"),
+      mu_error ("%s:%d: mu_list_create: %s",
                loc->filename,
-               loc->line);
+               loc->line,
+               mu_strerror (rc));
       exit (1); /* FIXME */
     }
   parse_variable (loc, stmt->v.component.format, str);
@@ -148,17 +150,18 @@ parse_component (locus_t *loc, mu_list_t formlist, char 
*compname, char *str)
 static void
 parse_variable (locus_t *loc, mu_list_t formlist, char *str)
 {
-  int i;
+  int i, rc;
   int argc;
   char **argv;
   mh_format_t fmt;
   
-  if (mu_argcv_get (str, ",=", NULL, &argc, &argv))
+  if ((rc = mu_argcv_get (str, ",=", NULL, &argc, &argv)) != 0)
     {
-      mu_error (_("%s:%d: cannot split string %s"),
+      mu_error ("%s:%d: mu_argcv_get(%s): %s",
                loc->filename,
                loc->line,
-               str);
+               str,
+               mu_strerror (rc));
       exit (1);
     }
 
@@ -257,18 +260,19 @@ mhl_format_compile (char *name)
   char *buf = NULL;
   size_t n = 0;
   locus_t loc;
+  int rc;
   
   fp = fopen (name, "r");
   if (!fp)
     {
-      mu_error (_("Cannot open file %s: %s"), name, mu_strerror (errno));
+      mu_error (_("cannot open file %s: %s"), name, mu_strerror (errno));
       return NULL;
     }
 
-  if (mu_list_create (&formlist))
+  if ((rc = mu_list_create (&formlist)) != 0)
     {
       fclose (fp);
-      mu_error (_("Cannot create list"));
+      mu_diag_funcall (MU_DIAG_ERROR, "mu_list_create", NULL, rc);
       return NULL;
     }
 
diff --git a/mh/mh_msgset.c b/mh/mh_msgset.c
index 07d74ff..a5f3dfa 100644
--- a/mh/mh_msgset.c
+++ b/mh/mh_msgset.c
@@ -40,7 +40,7 @@ _expand (size_t *msgcnt, size_t **msglist, size_t inc)
 static void
 msgset_abort (const char *arg)
 {
-  mu_error (_("Bad message list `%s'"), arg);
+  mu_error (_("bad message list `%s'"), arg);
   exit (1);
 }
 
@@ -62,7 +62,7 @@ msgset_last (mu_mailbox_t mbox, size_t *pnum)
   rc = mu_mailbox_messages_count (mbox, &count);
   if (rc)
     {
-      mu_error (_("Cannot get last message: %s"), mu_strerror (rc));
+      mu_error (_("cannot get last message: %s"), mu_strerror (rc));
       exit (1);
     }
   *pnum = count;
@@ -162,7 +162,7 @@ msgset_preproc_part (mu_mailbox_t mbox, char *arg, char 
**rest)
        rc = mu_mailbox_get_message (mbox, num, &msg);
        if (rc)
          {
-           mu_error (_("Cannot get message %d: %s"), num, mu_strerror (rc));
+           mu_error (_("cannot get message %d: %s"), num, mu_strerror (rc));
            exit (1);
          }
        *rest = arg + strlen (p->name);
@@ -603,7 +603,7 @@ mh_msgset_negate (mu_mailbox_t mbox, mh_msgset_t *msgset)
   list = realloc (list, sizeof (list[0]) * msgno);
   if (!list)
     {
-      mu_error (_("Not enough memory"));
+      mu_error (_("not enough memory"));
       abort ();
     }
   mh_msgset_free (msgset);
diff --git a/mh/mh_whatnow.c b/mh/mh_whatnow.c
index 943af3e..f8f5646 100644
--- a/mh/mh_whatnow.c
+++ b/mh/mh_whatnow.c
@@ -223,17 +223,17 @@ check_exit_status (const char *progname, int status)
     {
       if (WEXITSTATUS (status))
        {
-         mu_error (_("Command `%s' exited with status %d"),
+         mu_error (_("command `%s' exited with status %d"),
                    progname, WEXITSTATUS(status));
          return 1;
        }
       return 0;
     }
   else if (WIFSIGNALED (status))
-    mu_error (_("Command `%s' terminated on signal %d"),
+    mu_error (_("command `%s' terminated on signal %d"),
              progname, WTERMSIG (status));
   else
-    mu_error (_("Command `%s' terminated abnormally"), progname);
+    mu_error (_("command `%s' terminated abnormally"), progname);
   return 1;
 }
 
diff --git a/mh/mh_whom.c b/mh/mh_whom.c
index b91d0ad..71d567c 100644
--- a/mh/mh_whom.c
+++ b/mh/mh_whom.c
@@ -35,7 +35,7 @@ addrcp (mu_list_t *list, char *addr, int isbcc)
   p->isbcc = isbcc;
   if (!*list && (rc = mu_list_create (list)))
     {
-      mu_error (_("Cannot create list: %s"), mu_strerror (rc));
+      mu_error (_("cannot create list: %s"), mu_strerror (rc));
       exit (1);
     }
   mu_list_append (*list, p);
@@ -212,7 +212,7 @@ mh_whom (const char *filename, int check)
       if (rc == ENOENT)
        mu_error ("%s: %s", filename, mu_strerror (rc));
       else
-       mu_error ("%s: %s (%s)", filename, _("Malformed message"),
+       mu_error ("%s: %s (%s)", filename, _("malformed message"),
                  mu_strerror (rc));
       rc = -1;
     }
@@ -238,7 +238,7 @@ mh_whom (const char *filename, int check)
 
       if (count == 0)
        {
-         mu_error(_("No recipients"));
+         mu_error(_("no recipients"));
          rc = -1;
        }
     }
diff --git a/mh/mhl.c b/mh/mhl.c
index ebc2380..e17acf8 100644
--- a/mh/mhl.c
+++ b/mh/mhl.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -110,7 +110,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, NULL, 0);
       if (!width)
        {
-         argp_error (state, _("Invalid width"));
+         argp_error (state, _("invalid width"));
          exit (1);
        }
       break;
@@ -119,7 +119,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       length = strtoul (arg, NULL, 0);
       if (!length)
        {
-         argp_error (state, _("Invalid length"));
+         argp_error (state, _("invalid length"));
          exit (1);
        }
       break;
@@ -163,13 +163,13 @@ open_output ()
 
   if (rc)
     {
-      mu_error (_("Cannot create output stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot create output stream: %s"), mu_strerror (rc));
       exit (1);
     }
 
   if ((rc = mu_stream_open (output)))
     {
-      mu_error (_("Cannot open output stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot open output stream: %s"), mu_strerror (rc));
       exit (1);
     }
   return output;
@@ -188,13 +188,13 @@ list_message (char *name, mu_stream_t output)
     rc = mu_file_stream_create (&input, name, MU_STREAM_READ);
   if (rc)
     {
-      mu_error (_("Cannot create input stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot create input stream: %s"), mu_strerror (rc));
       return;
     }
 
   if ((rc = mu_stream_open (input)))
     {
-      mu_error (_("Cannot open input stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot open input stream: %s"), mu_strerror (rc));
       mu_stream_destroy (&input, mu_stream_get_owner (input));
       return;
     }
@@ -202,7 +202,7 @@ list_message (char *name, mu_stream_t output)
   msg = mh_stream_to_message (input);
   if (!msg)
     {
-      mu_error (_("Input stream %s is not a message (%s)"),
+      mu_error (_("input stream %s is not a message (%s)"),
                name, mu_strerror (rc));
       mu_stream_close (input);
       mu_stream_destroy (&input, mu_stream_get_owner (input));
diff --git a/mh/mhn.c b/mh/mhn.c
index 7d6d409..f5a1111 100644
--- a/mh/mhn.c
+++ b/mh/mhn.c
@@ -548,7 +548,7 @@ msg_part_parse (char *str)
          str = endp;
          break;
        default:
-         mu_error (_("Malformed part specification (near %s)"), endp);
+         mu_error (_("malformed part specification (near %s)"), endp);
          exit (1);
        }
       msg_part_incr (p);
@@ -1280,14 +1280,14 @@ mhn_exec (mu_stream_t *str, const char *cmd, int flags)
   int rc = mu_prog_stream_create (str, cmd, MU_STREAM_WRITE);
   if (rc)
     {
-      mu_error (_("Cannot create proc stream (command %s): %s"),
+      mu_error (_("cannot create proc stream (command %s): %s"),
                cmd, mu_strerror (rc));
     }
   else
     {
       rc = mu_stream_open (*str);
       if (rc)
-       mu_error (_("Cannot open proc stream (command %s): %s"),
+       mu_error (_("cannot open proc stream (command %s): %s"),
                  cmd, mu_strerror (rc));
     }
   return rc;
@@ -1328,14 +1328,14 @@ mhn_run_command (mu_message_t msg, msg_part_t part,
       
       if (mu_argcv_get (cmd, "", "#", &argc, &argv))
        {
-         mu_error (_("Cannot parse command line `%s'"), cmd);
+         mu_error (_("cannot parse command line `%s'"), cmd);
          return ENOSYS;
        }
 
       rc = mu_file_stream_create (&tmp, tempfile, MU_STREAM_RDWR);
       if (rc)
        {
-         mu_error (_("Cannot create temporary stream (file %s): %s"),
+         mu_error (_("cannot create temporary stream (file %s): %s"),
                    tempfile, mu_strerror (rc));
          mu_argcv_free (argc, argv);
          return rc;
@@ -1343,7 +1343,7 @@ mhn_run_command (mu_message_t msg, msg_part_t part,
       rc = mu_stream_open (tmp);
       if (rc)
        {
-         mu_error (_("Cannot open temporary stream (file %s): %s"),
+         mu_error (_("cannot open temporary stream (file %s): %s"),
                    tempfile, mu_strerror (rc));
          mu_stream_destroy (&tmp, mu_stream_get_owner (tmp));
          mu_argcv_free (argc, argv);
@@ -1469,13 +1469,13 @@ mhn_show ()
   rc = mu_stdio_stream_create (&ostr, stdout, 0);
   if (rc)
     {
-      mu_error (_("Cannot create output stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot create output stream: %s"), mu_strerror (rc));
       exit (1);
     }
   rc = mu_stream_open (ostr);
   if (rc)
     {
-      mu_error (_("Cannot open output stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot open output stream: %s"), mu_strerror (rc));
       exit (1);
     }
   
@@ -1685,7 +1685,7 @@ store_handler (mu_message_t msg, msg_part_t part, char 
*type, char *encoding,
   rc = mu_file_stream_create (&out, name, MU_STREAM_WRITE|MU_STREAM_CREAT);
   if (rc)
     {
-      mu_error (_("Cannot create output stream (file %s): %s"),
+      mu_error (_("cannot create output stream (file %s): %s"),
                name, mu_strerror (rc));
       free (name);
       return rc;
@@ -1693,7 +1693,7 @@ store_handler (mu_message_t msg, msg_part_t part, char 
*type, char *encoding,
   rc = mu_stream_open (out);
   if (rc)
     {
-      mu_error (_("Cannot open output stream (file %s): %s"),
+      mu_error (_("cannot open output stream (file %s): %s"),
                name, mu_strerror (rc));
       free (name);
       mu_stream_destroy (&out, mu_stream_get_owner (out));
@@ -2113,7 +2113,7 @@ edit_extern (char *cmd, struct compose_env *env, 
mu_message_t *msg, int level)
   
   if ((rc = mu_header_create (&hdr2, NULL, 0, NULL)) != 0)
     {
-      mu_error (_("Cannot create header: %s"),
+      mu_error (_("cannot create header: %s"),
                mu_strerror (rc));
       return 1;
     }
@@ -2319,14 +2319,14 @@ edit_mime (char *cmd, struct compose_env *env, 
mu_message_t *msg, int level)
       rc = mu_file_stream_create (&in, cmd, MU_STREAM_READ);
       if (rc)
        {
-         mu_error (_("Cannot create input stream (file %s): %s"),
+         mu_error (_("cannot create input stream (file %s): %s"),
                    cmd, mu_strerror (rc));
          return rc;
        }
       rc = mu_stream_open (in);
       if (rc)
        {
-         mu_error (_("Cannot open input stream (file %s): %s"),
+         mu_error (_("cannot open input stream (file %s): %s"),
                    cmd, mu_strerror (rc));
          mu_stream_destroy (&in, mu_stream_get_owner (in));
          return rc;
@@ -2364,7 +2364,7 @@ edit_mime (char *cmd, struct compose_env *env, 
mu_message_t *msg, int level)
   rc = mu_stream_open (fstr);
   if (rc)
     {
-      mu_error (_("Cannot open filter stream: %s"),
+      mu_error (_("cannot open filter stream: %s"),
                mu_strerror (rc));
       return rc;
     }
@@ -2712,7 +2712,7 @@ mhn_compose ()
   rc = mu_file_stream_create (&stream, name, MU_STREAM_RDWR|MU_STREAM_CREAT);
   if (rc)
     {
-      mu_error (_("Cannot create output stream (file %s): %s"),
+      mu_error (_("cannot create output stream (file %s): %s"),
                name, mu_strerror (rc));
       free (name);
       return rc;
@@ -2720,7 +2720,7 @@ mhn_compose ()
   rc = mu_stream_open (stream);
   if (rc)
     {
-      mu_error (_("Cannot open output stream (file %s): %s"),
+      mu_error (_("cannot open output stream (file %s): %s"),
                name, mu_strerror (rc));
       free (name);
       mu_stream_destroy (&stream, mu_stream_get_owner (stream));
diff --git a/mh/pick.c b/mh/pick.c
index 3b8a04d..db1cb86 100644
--- a/mh/pick.c
+++ b/mh/pick.c
@@ -1,5 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2005, 2006, 2007, 2008,
+   2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -136,7 +137,7 @@ add_sequence (char *name)
 {
   if (!seq_list && mu_list_create (&seq_list))
     {
-      mu_error (_("Cannot create sequence list"));
+      mu_error (_("cannot create sequence list"));
       exit (1);
     }
   mu_list_append (seq_list, name);
@@ -263,7 +264,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       s = state->argv[state->next - 1];
       if (memcmp (s, "--", 2))
        {
-         argp_error (state, _("Invalid option -- %s"), s);
+         argp_error (state, _("invalid option -- %s"), s);
          exit (1);
        }
       p = strchr (s, '=');
@@ -276,7 +277,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
        {
          if (state->next == state->argc)
            {
-             mu_error (_("Invalid option -- %s"), s);
+             mu_error (_("invalid option -- %s"), s);
              exit (1);
            }
          p = state->argv[state->next++];
diff --git a/mh/refile.c b/mh/refile.c
index aa81604..d78b2e7 100644
--- a/mh/refile.c
+++ b/mh/refile.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 2002, 2003, 2004, 2005, 2006, 
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -73,7 +73,7 @@ add_folder (const char *folder)
 {
   if (!folder_name_list && mu_list_create (&folder_name_list))
     {
-      mu_error (_("Cannot create folder list"));
+      mu_error (_("cannot create folder list"));
       exit (1);
     }
   mu_list_append (folder_name_list, strdup (folder));
@@ -86,19 +86,19 @@ open_folders ()
 
   if (!folder_name_list)
     {
-      mu_error (_("No folder specified"));
+      mu_error (_("no folder specified"));
       exit (1);
     }
 
   if (mu_list_create (&folder_mbox_list))
     {
-      mu_error (_("Cannot create folder list"));
+      mu_error (_("cannot create folder list"));
       exit (1);
     }
 
   if (mu_list_get_iterator (folder_name_list, &itr))
     {
-      mu_error (_("Cannot create iterator"));
+      mu_error (_("cannot create iterator"));
       exit (1);
     }
 
@@ -123,7 +123,7 @@ enumerate_folders (void (*f) (void *, mu_mailbox_t), void 
*data)
 
   if (mu_list_get_iterator (folder_mbox_list, &itr))
     {
-      mu_error (_("Cannot create iterator"));
+      mu_error (_("cannot create iterator"));
       exit (1);
     }
 
@@ -197,7 +197,7 @@ refile_folder (void *data, mu_mailbox_t mbox)
   rc = mu_mailbox_append_message (mbox, msg);
   if (rc)
     {
-      mu_error (_("Error appending message: %s"), mu_strerror (rc));
+      mu_error (_("error appending message: %s"), mu_strerror (rc));
       exit (1);
     }
 }
@@ -257,7 +257,7 @@ main (int argc, char **argv)
       
       if (argc > 0)
        {
-         mu_error (_("Both message set and source file given"));
+         mu_error (_("both message set and source file given"));
          exit (1);
        }
       msg = mh_file_to_message (mu_folder_directory (), source_file);
diff --git a/mh/repl.c b/mh/repl.c
index 52d3ec8..c972684 100644
--- a/mh/repl.c
+++ b/mh/repl.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 2002, 2003, 2005, 2006, 2007, 
-   2008 Free Software Foundation, Inc.
+   2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -213,7 +213,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, NULL, 0);
       if (!width)
        {
-         argp_error (state, _("Invalid width"));
+         argp_error (state, _("invalid width"));
          exit (1);
        }
       break;
@@ -314,7 +314,7 @@ make_draft (mu_mailbox_t mbox, int disp, struct 
mh_whatnow_env *wh)
   rc = mu_mailbox_get_message (mbox, msgset.list[0], &msg);
   if (rc)
     {
-      mu_error (_("Cannot read message %s: %s"),
+      mu_error (_("cannot read message %s: %s"),
                mu_umaxtostr (0, msgset.list[0]),
                mu_strerror (rc));
       exit (1);
@@ -335,14 +335,14 @@ make_draft (mu_mailbox_t mbox, int disp, struct 
mh_whatnow_env *wh)
                               MU_STREAM_WRITE|MU_STREAM_CREAT);
       if (rc)
        {
-         mu_error (_("Cannot create draft file stream %s: %s"),
+         mu_error (_("cannot create draft file stream %s: %s"),
                    wh->file, mu_strerror (rc));
          exit (1);
        }
 
       if ((rc = mu_stream_open (str)))
        {
-         mu_error (_("Cannot open draft file %s: %s"),
+         mu_error (_("cannot open draft file %s: %s"),
                    wh->file, mu_strerror (rc));
          exit (1);
        }         
diff --git a/mh/rmf.c b/mh/rmf.c
index 806e9c7..828d737 100644
--- a/mh/rmf.c
+++ b/mh/rmf.c
@@ -1,5 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2002, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005, 2006, 2007, 2008,
+   2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -123,7 +124,7 @@ rmf (const char *name)
 
   if (!dir)
     {
-      mu_error (_("Cannot scan folder %s: %s"), name, strerror (errno));
+      mu_error (_("cannot scan folder %s: %s"), name, strerror (errno));
       return 1;
     }
 
@@ -142,7 +143,7 @@ rmf (const char *name)
       asprintf (&p, "%s/%s", name, entry->d_name);
       if (stat (p, &st) < 0)
        {
-         mu_error (_("Cannot stat %s: %s"), p, strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "stat", p, errno);
        }
       else if (S_ISDIR (st.st_mode))
        {
@@ -159,7 +160,7 @@ rmf (const char *name)
        {
          if (unlink (p))
            {
-             mu_error (_("Cannot unlink %s: %s"), p, strerror (errno));
+             mu_error (_("cannot unlink %s: %s"), p, strerror (errno));
              failures++;
            }
        }
diff --git a/mh/scan.c b/mh/scan.c
index 04df758..77274b3 100644
--- a/mh/scan.c
+++ b/mh/scan.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -120,7 +120,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, NULL, 0);
       if (!width)
        {
-         argp_error (state, _("Invalid width"));
+         argp_error (state, _("invalid width"));
          exit (1);
        }
       break;
diff --git a/mh/send.c b/mh/send.c
index 7563b24..6bae7b1 100644
--- a/mh/send.c
+++ b/mh/send.c
@@ -146,7 +146,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       split_size = strtoul (arg, &p, 10);
       if (*p)
        {
-         argp_error (state, "%s: %s", arg, _("Invalid number"));
+         argp_error (state, "%s: %s", arg, _("invalid number"));
          exit (1);
        }
       break;
@@ -222,7 +222,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       split_interval = strtoul (arg, &p, 10);
       if (*p)
        {
-         argp_error (state, "%s: %s", arg, _("Invalid number"));
+         argp_error (state, "%s: %s", arg, _("invalid number"));
          exit (1);
        }
       break;
@@ -247,7 +247,7 @@ opt_handler (int key, char *arg, void *unused, struct 
argp_state *state)
       width = strtoul (arg, &p, 10);
       if (*p)
        {
-         argp_error (state, _("Invalid number"));
+         argp_error (state, _("invalid number"));
          exit (1);
        }
       break;
@@ -299,7 +299,7 @@ check_file (char *name)
   if (!mesg_list && mu_list_create (&mesg_list))
     {
       free (file_name);
-      mu_error (_("Cannot create message list"));
+      mu_error (_("cannot create message list"));
       return 1;
     }
   elt = xmalloc (sizeof *elt);
@@ -332,7 +332,7 @@ read_mts_profile ()
       mu_set_user_email_domain (p);
     }
   else if ((rc = mu_get_host_name (&hostname)))
-    mu_error (_("Cannot get system host name: %s"), mu_strerror (rc));
+    mu_error (_("cannot get system host name: %s"), mu_strerror (rc));
 
   if ((p = mh_context_get_value (mts_profile, "localdomain", NULL)))
     {
@@ -349,7 +349,7 @@ read_mts_profile ()
       free (newdomain);
       if (rc)
        {
-         mu_error (_("Cannot set user mail domain: %s"), mu_strerror (rc));
+         mu_error (_("cannot set user mail domain: %s"), mu_strerror (rc));
          exit (1);
        }
     }
@@ -364,7 +364,7 @@ read_mts_profile ()
       rc = mu_get_user_email_domain (&domain);
       if (rc)
        {
-         mu_error (_("Cannot get user email: %s"), mu_strerror (rc));
+         mu_error (_("cannot get user email: %s"), mu_strerror (rc));
          exit (1);
        }
       len = strlen (p) + 1 + strlen (domain) + 1;
@@ -376,7 +376,7 @@ read_mts_profile ()
       rc = mu_set_user_email (newemail);
       if (rc)
        {
-         mu_error (_("Cannot set user email (%s): %s"),
+         mu_error (_("cannot set user email (%s): %s"),
                    newemail, mu_strerror (rc));
          exit (1);
        }
@@ -399,7 +399,7 @@ open_mailer ()
   status = mu_mailer_create (&mailer, url);
   if (status)
     {
-      mu_error (_("Cannot create mailer `%s'"), url);
+      mu_error (_("cannot create mailer `%s'"), url);
       return NULL;
     }
 
@@ -414,7 +414,7 @@ open_mailer ()
   status = mu_mailer_open (mailer, MU_STREAM_RDWR);
   if (status)
     {
-      mu_error (_("Cannot open mailer `%s'"), url);
+      mu_error (_("cannot open mailer `%s'"), url);
       return NULL;
     }
   return mailer;
@@ -542,7 +542,7 @@ fix_fcc (mu_message_t msg)
       if (need_fixup)
        {
          mu_header_set_value (hdr, MU_HEADER_FCC, fcc, 1);
-         WATCH ((_("fixed fcc: %s"), fcc));
+         WATCH ((_("Fixed fcc: %s"), fcc));
        }
       free (fcc);
     }    
@@ -584,7 +584,7 @@ fix_dcc (mu_message_t msg)
       else
        bcc = dcc;
 
-      WATCH ((_("fixed bcc: %s"), bcc));
+      WATCH ((_("Fixed bcc: %s"), bcc));
       mu_header_set_value (hdr, MU_HEADER_BCC, bcc, 1);
       free (bcc);
     }
@@ -607,12 +607,12 @@ backup_file (const char *file_name)
       new_name[0] = ',';
       strcpy (new_name + 1, file_name);
     }
-  WATCH ((_("renaming %s to %s"), file_name, new_name));
+  WATCH ((_("Renaming %s to %s"), file_name, new_name));
 
   if (unlink (new_name) && errno != ENOENT)
-    mu_error (_("Cannot unlink file `%s': %s"), new_name, mu_strerror (errno));
+    mu_error (_("cannot unlink file `%s': %s"), new_name, mu_strerror (errno));
   else if (rename (file_name, new_name))
-    mu_error (_("Cannot rename `%s' to `%s': %s"),
+    mu_error (_("cannot rename `%s' to `%s': %s"),
              file_name, new_name, mu_strerror (errno));
   free (new_name);
 }
@@ -694,7 +694,7 @@ _action_send (void *item, void *data)
     rc = mu_mailer_send_message (mailer, msg, NULL, NULL);
   if (rc)
     {
-      mu_error(_("Cannot send message: %s"), mu_strerror (rc));
+      mu_error(_("cannot send message: %s"), mu_strerror (rc));
       return 1;
     }
 
@@ -725,7 +725,7 @@ do_send (int argc, char **argv)
   
   if (background && daemon (0, 0) < 0)
     {
-      mu_error(_("Cannot switch to background: %s"), mu_strerror (errno));
+      mu_error (_("cannot switch to background: %s"), mu_strerror (errno));
       return 1;
     }
 
@@ -764,7 +764,7 @@ main (int argc, char **argv)
 
       if (stat (xargv[0], &st))
        {
-         mu_error(_("Cannot stat %s: %s"), xargv[0], mu_strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "stat", xargv[0], errno);
          return 1;
        }
 
diff --git a/mimeview/mimetypes.l b/mimeview/mimetypes.l
index d66bb66..c15f1dc 100644
--- a/mimeview/mimetypes.l
+++ b/mimeview/mimetypes.l
@@ -1,6 +1,6 @@
 %{
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -147,7 +147,7 @@ mimetypes_open (const char *name)
   struct stat st;
   if (stat (name, &st))
     {
-      mu_error (_("Cannot stat `%s': %s"), name, mu_strerror (errno));
+      mu_error (_("cannot stat `%s': %s"), name, mu_strerror (errno));
       return -1;
     }
   
diff --git a/mimeview/mimeview.c b/mimeview/mimeview.c
index fb2bf2b..7745bd8 100644
--- a/mimeview/mimeview.c
+++ b/mimeview/mimeview.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -188,12 +188,12 @@ open_file (char *name)
   struct stat st;
   if (stat (name, &st))
     {
-      mu_error (_("Cannot stat `%s': %s"), name, mu_strerror (errno));
+      mu_error (_("cannot stat `%s': %s"), name, mu_strerror (errno));
       return -1;
     }
   if (!S_ISREG (st.st_mode) && !S_ISLNK (st.st_mode))
     {
-      mu_error (_("Not a regular file or symbolic link: `%s'"), name);
+      mu_error (_("not a regular file or symbolic link: `%s'"), name);
       return -1;
     }
 
@@ -252,7 +252,7 @@ display_file (const char *type)
       asprintf (&text, "Content-Type: %s\n", type);
       status = mu_header_create (&hdr, text, strlen (text), NULL);
       if (status)
-       mu_error (_("Cannot create header: %s"), mu_strerror (status));
+       mu_error (_("cannot create header: %s"), mu_strerror (status));
       else
        {
          mu_stdio_stream_create (&stream, mimeview_fp,
@@ -287,7 +287,7 @@ main (int argc, char **argv)
 
   if (argc == 0)
     {
-      mu_error (_("No files given"));
+      mu_error (_("no files given"));
       return 1;
     }
 
diff --git a/movemail/movemail.c b/movemail/movemail.c
index 99dc5b0..8b01a92 100644
--- a/movemail/movemail.c
+++ b/movemail/movemail.c
@@ -178,7 +178,7 @@ _cb_mailbox_ownership (mu_debug_t debug, const char *str)
       if (mu_kwd_xlat_name_len (method_kwd, str, len, &code))
        {
          mu_cfg_format_error (debug, MU_DEBUG_ERROR, 
-                              _("Invalid ownership method: %s"),
+                              _("invalid ownership method: %s"),
                               str);
          return 1;
        }
@@ -347,7 +347,7 @@ lock_mailbox (mu_mailbox_t mbox)
   
   status = mu_mailbox_get_locker (mbox, &lock);
   if (status)
-    die (mbox, _("Cannot retrieve locker"), status);
+    die (mbox, _("cannot retrieve locker"), status);
       
   if (!lock)
     /* Remote mailboxes have no lockers */
@@ -356,7 +356,7 @@ lock_mailbox (mu_mailbox_t mbox)
   status = mu_locker_lock (lock);
 
   if (status)
-    die (mbox, _("Cannot lock"), status);
+    die (mbox, _("cannot lock"), status);
 }
 
 
@@ -400,11 +400,11 @@ open_mailbox (mu_mailbox_t *mbx, char *name, int flags, 
char *passwd)
   if (status)
     {
       if (name)
-       mu_error (_("Could not create mailbox `%s': %s"),
+       mu_error (_("could not create mailbox `%s': %s"),
                  name,
                  mu_strerror (status));
       else
-       mu_error (_("Could not create default mailbox: %s"),
+       mu_error (_("could not create default mailbox: %s"),
                  mu_strerror (status));
       exit (1);
     }
@@ -413,7 +413,7 @@ open_mailbox (mu_mailbox_t *mbx, char *name, int flags, 
char *passwd)
     attach_passwd_ticket (*mbx, passwd);
   status = mu_mailbox_open (*mbx, flags);
   if (status)
-    die (*mbx, _("Cannot open"), status);
+    die (*mbx, _("cannot open"), status);
   lock_mailbox (*mbx);
 }
 
@@ -425,13 +425,13 @@ move_message (mu_mailbox_t src, mu_mailbox_t dst, size_t 
msgno)
 
   if ((rc = mu_mailbox_get_message (src, msgno, &msg)) != 0)
     {
-      mu_error (_("Cannot read message %lu: %s"),
+      mu_error (_("cannot read message %lu: %s"),
                (unsigned long) msgno, mu_strerror (rc));
       return rc;
     }
   if ((rc = mu_mailbox_append_message (dst, msg)) != 0)
     {
-      mu_error (_("Cannot append message %lu: %s\n"),
+      mu_error (_("cannot append message %lu: %s\n"),
                (unsigned long) msgno, mu_strerror (rc));
       return rc;
     }
@@ -462,7 +462,7 @@ compatibility_mode (mu_mailbox_t *mbx, char *source_name, 
char *password,
     host = getenv ("MAILHOST");
   if (!host)
     {
-      mu_error (_("Hostname of the POP3 server is unknown"));
+      mu_error (_("hostname of the POP3 server is unknown"));
       exit (1);
     }
   asprintf (&tmp, "pop://address@hidden", user_name, host);
@@ -485,7 +485,7 @@ get_mbox_owner_id (mu_mailbox_t mbox, mu_url_t url, struct 
user_id *id)
   const char *s;
   int rc = mu_url_sget_scheme  (url, &s);
   if (rc)
-    die (mbox, _("Cannot get scheme"), rc);
+    die (mbox, _("cannot get scheme"), rc);
   if ((strcmp (s, "/") == 0
        || strcmp (s, "mbox") == 0
        || strcmp (s, "mh") == 0
@@ -495,10 +495,10 @@ get_mbox_owner_id (mu_mailbox_t mbox, mu_url_t url, 
struct user_id *id)
       
       rc = mu_url_sget_path  (url, &s);
       if (rc)
-       die (mbox, _("Cannot get path"), rc);
+       die (mbox, _("cannot get path"), rc);
       if (stat (s, &st))
        {
-         mu_error (_("Cannot stat mailbox `%s': %s"), s,
+         mu_error (_("cannot stat mailbox `%s': %s"), s,
                    mu_strerror (errno));
          exit (1);
        }
@@ -537,7 +537,7 @@ get_mbox_owner_name (mu_mailbox_t mbox, mu_url_t url, 
struct user_id *id)
   int rc = mu_url_sget_user (url, &s);
   if (rc)
     /* FIXME */
-    die (mbox, _("Cannot get mailbox owner name"), rc);
+    die (mbox, _("cannot get mailbox owner name"), rc);
 
   return get_user_id (s, id);
 }
@@ -551,7 +551,7 @@ guess_mbox_owner (mu_mailbox_t mbox, struct user_id *id)
   
   rc = mu_mailbox_get_url (mbox, &url);
   if (rc)
-    die (mbox, _("Cannot get url"), rc);
+    die (mbox, _("cannot get url"), rc);
 
   rc = 1;
   for (meth = so_methods; rc == 1 && meth < so_methods + so_method_num; meth++)
@@ -685,7 +685,7 @@ main (int argc, char **argv)
 
   if (argc < 2 || argc > 3)
     {
-      mu_error (_("Wrong number of arguments"));
+      mu_error (_("wrong number of arguments"));
       return 1;
     }
 
@@ -708,13 +708,13 @@ main (int argc, char **argv)
   rc = mu_mailbox_messages_count (source, &total);
   if (rc)
     {
-      mu_error(_("Cannot count messages: %s"), mu_strerror (rc));
+      mu_error(_("cannot count messages: %s"), mu_strerror (rc));
       exit (1);
     }
   
   if (verbose_option)
     mu_diag_output (MU_DIAG_INFO,
-                   _("Number of messages in source mailbox: %lu"),
+                   _("number of messages in source mailbox: %lu"),
                    (unsigned long) total);
 
   if (uidl_option)
@@ -724,10 +724,10 @@ main (int argc, char **argv)
 
       rc = mu_mailbox_get_uidls (source, &src_uidl_list);
       if (rc)
-       die (source, _("Cannot get UIDLs"), rc);
+       die (source, _("cannot get UIDLs"), rc);
       rc = mu_mailbox_get_uidls (dest, &dst_uidl_list);
       if (rc)
-       die (dest, _("Cannot get UIDLs"), rc);
+       die (dest, _("cannot get UIDLs"), rc);
 
       mu_list_set_comparator (src_uidl_list, NULL);
       mu_list_set_comparator (dst_uidl_list, _compare_uidls);
@@ -754,7 +754,7 @@ main (int argc, char **argv)
          if (src_uidl_list && !msgno_in_list (src_uidl_list, i))
            {
              if (verbose_option > 1)
-               mu_diag_output (MU_DIAG_INFO, _("Ignoring message %lu"),
+               mu_diag_output (MU_DIAG_INFO, _("ignoring message %lu"),
                                (unsigned long) i);
              continue;
            }
@@ -786,7 +786,7 @@ main (int argc, char **argv)
   
   if (verbose_option)
     mu_diag_output (MU_DIAG_INFO,
-                   _("Number of processed messages: %lu"),
+                   _("number of processed messages: %lu"),
                    (unsigned long) msg_count);
   
   if (rc)
@@ -796,7 +796,7 @@ main (int argc, char **argv)
   rc = mu_mailbox_close (dest);
   mu_mailbox_destroy (&dest);
   if (rc)
-    mu_error (_("Cannot close destination mailbox: %s"), mu_strerror (rc));
+    mu_error (_("cannot close destination mailbox: %s"), mu_strerror (rc));
   else
     mu_mailbox_flush (source, 1);
 
diff --git a/pop3d/apop.c b/pop3d/apop.c
index 51a8349..5835dd7 100644
--- a/pop3d/apop.c
+++ b/pop3d/apop.c
@@ -52,7 +52,7 @@ pop3d_apopuser (const char *user)
     int rc = mu_dbm_open (APOP_PASSFILE, &db, MU_STREAM_READ, 0600);
     if (rc)
       {
-       mu_diag_output (MU_DIAG_ERROR, _("Unable to open APOP db: %s"),
+       mu_diag_output (MU_DIAG_ERROR, _("unable to open APOP db: %s"),
                mu_strerror (errno));
        return NULL;
       }
@@ -70,7 +70,8 @@ pop3d_apopuser (const char *user)
     mu_dbm_close (db);
     if (rc)
       {
-       mu_diag_output (MU_DIAG_ERROR, _("Cannot fetch APOP data: %s"), 
mu_strerror (errno));
+       mu_diag_output (MU_DIAG_ERROR,
+                       _("cannot fetch APOP data: %s"), mu_strerror (errno));
        return NULL;
       }
     password = calloc (MU_DATUM_SIZE(data) + 1, sizeof (*password));
@@ -92,14 +93,15 @@ pop3d_apopuser (const char *user)
 
     if (mu_check_perm (APOP_PASSFILE, 0600))
       {
-       mu_diag_output (MU_DIAG_INFO, _("Bad permissions on APOP password 
file"));
+       mu_diag_output (MU_DIAG_INFO,
+                       _("bad permissions on APOP password file"));
        return NULL;
     }
 
     apop_file = fopen (APOP_PASSFILE, "r");
     if (apop_file == NULL)
       {
-       mu_diag_output (MU_DIAG_INFO, _("Unable to open APOP password file %s"),
+       mu_diag_output (MU_DIAG_INFO, _("unable to open APOP password file %s"),
                strerror (errno));
        return NULL;
       }
@@ -159,14 +161,15 @@ pop3d_apop (char *arg)
   pop3d_parse_command (arg, &user, &user_digest);
   if (strlen (user) > (POP_MAXCMDLEN - APOP_DIGEST))
     {
-      mu_diag_output (MU_DIAG_INFO, _("User name too long: %s"), user);
+      mu_diag_output (MU_DIAG_INFO, _("user name too long: %s"), user);
       return ERR_BAD_ARGS;
     }
 
   password = pop3d_apopuser (user);
   if (password == NULL)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Password for `%s' not found in the 
database"),
+      mu_diag_output (MU_DIAG_INFO,
+                     _("password for `%s' not found in the database"),
              user);
       return ERR_BAD_LOGIN;
     }
diff --git a/pop3d/bulletin.c b/pop3d/bulletin.c
index a8cd520..645f938 100644
--- a/pop3d/bulletin.c
+++ b/pop3d/bulletin.c
@@ -45,7 +45,7 @@ open_bulletin_mailbox (mu_mailbox_t *pmbox)
   
   if ((status = mu_mailbox_create (&tmbox, bulletin_mbox_name)) != 0)
     {
-      mu_error (_("Cannot create bulletin mailbox `%s': %s"),
+      mu_error (_("cannot create bulletin mailbox `%s': %s"),
                bulletin_mbox_name, mu_strerror (status));
       return 1;
     }
@@ -53,7 +53,7 @@ open_bulletin_mailbox (mu_mailbox_t *pmbox)
   if ((status = mu_mailbox_open (tmbox, MU_STREAM_READ)) != 0)
     {
       mu_mailbox_destroy (&tmbox);
-      mu_error (_("Cannot open bulletin mailbox `%s': %s"),
+      mu_error (_("cannot open bulletin mailbox `%s': %s"),
                bulletin_mbox_name, mu_strerror (status));
       return 1;
     }
@@ -137,7 +137,7 @@ read_bulletin_db (size_t *pnum)
        }
       else
        {
-         mu_error (_("Unable to open bulletin db for reading: %s"),
+         mu_error (_("unable to open bulletin db for reading: %s"),
                    mu_strerror (errno));
          return rc;
        }
@@ -159,7 +159,7 @@ read_bulletin_db (size_t *pnum)
            *pnum = 0;
            return 0;
         }
-      mu_error (_("Cannot fetch bulletin db data: %s"),
+      mu_error (_("cannot fetch bulletin db data: %s"),
                mu_strerror (ec));
       mu_dbm_close (db);
       return 1;
@@ -207,7 +207,7 @@ read_bulletin_db (size_t *pnum)
       else
 #endif /* QPOPPER_COMPAT */
        {
-         mu_error (_("Wrong bulletin database format for `%s'"),
+         mu_error (_("wrong bulletin database format for `%s'"),
                    username);
        }
     }
@@ -227,7 +227,7 @@ write_bulletin_db (size_t num)
   rc = mu_dbm_open (bulletin_db_name, &db, MU_STREAM_RDWR, 0660);
   if (rc)
     {
-      mu_error (_("Unable to open bulletin db for writing: %s"),
+      mu_error (_("unable to open bulletin db for writing: %s"),
                mu_strerror (errno));
       return rc;
     }
@@ -243,7 +243,7 @@ write_bulletin_db (size_t num)
 
   rc = mu_dbm_insert (db, key, data, 1);
   if (rc)
-    mu_error (_("Cannot store datum in bulletin db"));
+    mu_error (_("cannot store datum in bulletin db"));
 
   mu_dbm_close (db);
   return rc;
@@ -286,7 +286,7 @@ deliver_pending_bulletins ()
 
   rc = mu_mailbox_messages_count (bull, &total);
   if (rc)
-    mu_error (_("Cannot count bulletins: %s"), mu_strerror (rc));
+    mu_error (_("cannot count bulletins: %s"), mu_strerror (rc));
   else
     {
       mu_diag_output (MU_DIAG_DEBUG,
@@ -311,14 +311,14 @@ deliver_pending_bulletins ()
          
              if ((rc = mu_mailbox_get_message (bull, i, &msg)) != 0)
                {
-                 mu_error (_("Cannot read bulletin %lu: %s"),
+                 mu_error (_("cannot read bulletin %lu: %s"),
                            (unsigned long) i, mu_strerror (rc));
                  break;
                }
        
              if ((rc = mu_mailbox_append_message (mbox, msg)) != 0)
                {
-                 mu_error (_("Cannot append message %lu: %s"),
+                 mu_error (_("cannot append message %lu: %s"),
                            (unsigned long) i, mu_strerror (rc));
                  break;
                }
diff --git a/pop3d/extra.c b/pop3d/extra.c
index 054d8c6..10b9812 100644
--- a/pop3d/extra.c
+++ b/pop3d/extra.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2001, 2002, 2003, 2005, 
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -62,42 +62,42 @@ pop3d_abquit (int reason)
     case ERR_NO_MEM:
       code = EX_SOFTWARE;
       pop3d_outf ("-ERR %s\r\n", pop3d_error_string (reason));
-      mu_diag_output (MU_DIAG_ERROR, _("Out of memory"));
+      mu_diag_output (MU_DIAG_ERROR, _("not enough memory"));
       break;
 
     case ERR_SIGNAL:
       code = EX_SOFTWARE;
-      mu_diag_output (MU_DIAG_ERROR, _("Quitting on signal"));
+      mu_diag_output (MU_DIAG_ERROR, _("quitting on signal"));
       break;
 
     case ERR_TERMINATE:
       code = EX_OK;
-      mu_diag_output (MU_DIAG_NOTICE, _("Terminating on request"));
+      mu_diag_output (MU_DIAG_NOTICE, _("terminating on request"));
       break;
 
     case ERR_TIMEOUT:
       code = EX_TEMPFAIL;
       pop3d_outf ("-ERR %s\r\n", pop3d_error_string (reason));
       if (state == TRANSACTION)
-       mu_diag_output (MU_DIAG_INFO, _("Session timed out for user: %s"),
+       mu_diag_output (MU_DIAG_INFO, _("session timed out for user: %s"),
                        username);
       else
-       mu_diag_output (MU_DIAG_INFO, _("Session timed out for no user"));
+       mu_diag_output (MU_DIAG_INFO, _("session timed out for no user"));
       break;
 
     case ERR_NO_IFILE:
       code = EX_NOINPUT;
-      mu_diag_output (MU_DIAG_INFO, _("No input stream"));
+      mu_diag_output (MU_DIAG_INFO, _("no input stream"));
       break;
 
     case ERR_NO_OFILE:
       code = EX_IOERR;
-      mu_diag_output (MU_DIAG_INFO, _("No socket to send to"));
+      mu_diag_output (MU_DIAG_INFO, _("no socket to send to"));
       break;
 
     case ERR_PROTO:
       code = EX_PROTOCOL;
-      mu_diag_output (MU_DIAG_INFO, _("Remote protocol error"));
+      mu_diag_output (MU_DIAG_INFO, _("remote protocol error"));
       break;
 
     case ERR_IO:
@@ -108,7 +108,7 @@ pop3d_abquit (int reason)
     case ERR_MBOX_SYNC:
       code = EX_OSERR; /* FIXME: This could be EX_SOFTWARE as well? */
       mu_diag_output (MU_DIAG_ERROR,
-                     _("Mailbox was updated by other party: %s"),
+                     _("mailbox was updated by other party: %s"),
                      username);
       pop3d_outf
        ("-ERR [OUT-SYNC] Mailbox updated by other party or corrupt\r\n");
@@ -117,7 +117,7 @@ pop3d_abquit (int reason)
     default:
       code = EX_SOFTWARE;
       pop3d_outf ("-ERR Quitting: %s\r\n", pop3d_error_string (reason));
-      mu_diag_output (MU_DIAG_ERROR, _("Quitting (numeric reason %d)"),
+      mu_diag_output (MU_DIAG_ERROR, _("quitting (numeric reason %d)"),
                      reason);
       break;
     }
@@ -233,7 +233,7 @@ pop3d_outf (const char *fmt, ...)
 
       if (mu_stream_strerror (ostream, &p))
        p = strerror (errno);
-      mu_diag_output (MU_DIAG_ERROR, _("Write failed: %s"), p);
+      mu_diag_output (MU_DIAG_ERROR, _("write failed: %s"), p);
       pop3d_abquit (ERR_IO);
     }
 }
@@ -255,7 +255,7 @@ pop3d_readline (char *buffer, size_t size)
 
       if (mu_stream_strerror (ostream, &p))
        p = strerror (errno);
-      mu_diag_output (MU_DIAG_ERROR, _("Read failed: %s"), p);
+      mu_diag_output (MU_DIAG_ERROR, _("read failed: %s"), p);
       pop3d_abquit (ERR_IO);
     }
   else if (nbytes == 0)
diff --git a/pop3d/lock.c b/pop3d/lock.c
index 0797569..e346f75 100644
--- a/pop3d/lock.c
+++ b/pop3d/lock.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2005,
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ pop3d_lock ()
   mu_locker_mod_flags (lock, MU_LOCKER_PID, mu_locker_set_bit);
   if ((status = mu_locker_lock (lock)))
     {
-      mu_diag_output (MU_DIAG_NOTICE, _("Locking mailbox `%s' failed: %s"),
+      mu_diag_output (MU_DIAG_NOTICE, _("locking mailbox `%s' failed: %s"),
              name ? name : "?", mu_strerror(status));
       return ERR_MBOX_LOCK;
     }
diff --git a/pop3d/logindelay.c b/pop3d/logindelay.c
index a9b5d24..b6f86a3 100644
--- a/pop3d/logindelay.c
+++ b/pop3d/logindelay.c
@@ -1,5 +1,5 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,9 +27,9 @@ open_stat_db (DBM_FILE *db, int mode)
   if (rc)
     {
       if (rc == -1)
-       mu_diag_output (MU_DIAG_INFO, _("Bad permissions on statistics db"));
+       mu_diag_output (MU_DIAG_INFO, _("bad permissions on statistics db"));
       else
-       mu_diag_output (MU_DIAG_ERROR, _("Unable to open statistics db: %s"),
+       mu_diag_output (MU_DIAG_ERROR, _("unable to open statistics db: %s"),
                mu_strerror (rc));
     }
   return rc;
@@ -59,7 +59,7 @@ check_login_delay (char *username)
   rc = mu_dbm_fetch (db, key, &data);
   if (rc)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Cannot fetch login delay data: %s"),
+      mu_diag_output (MU_DIAG_ERROR, _("cannot fetch login delay data: %s"),
              mu_strerror (rc));
       mu_dbm_close (db);
       return 0;
@@ -67,7 +67,8 @@ check_login_delay (char *username)
 
   if (MU_DATUM_SIZE(data) > sizeof (text) - 1)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Invalid entry for '%s': wrong 
timestamp size"),
+      mu_diag_output (MU_DIAG_ERROR,
+                     _("invalid entry for '%s': wrong timestamp size"),
              username);
       mu_dbm_close (db);
       return 0;
@@ -80,7 +81,8 @@ check_login_delay (char *username)
   prev_time = strtoul (text, &p, 0);
   if (*p)
     {
-      mu_diag_output (MU_DIAG_ERROR, _("Malformed timestamp for '%s': %s"),
+      mu_diag_output (MU_DIAG_ERROR,
+                     _("malformed timestamp for '%s': %s"),
              username, text);
       return 0;
     }
@@ -111,7 +113,7 @@ update_login_delay (char *username)
   MU_DATUM_PTR(data) = text;
   MU_DATUM_SIZE(data) = strlen (text);
   if (mu_dbm_insert (db, key, data, 1))
-    mu_error (_("%s: can't store datum %s/%s"),
+    mu_error (_("%s: cannot store datum %s/%s"),
              login_stat_file, username, text);
   
   mu_dbm_close (db);
diff --git a/pop3d/pop3d.c b/pop3d/pop3d.c
index 8b05ace..9605ecb 100644
--- a/pop3d/pop3d.c
+++ b/pop3d/pop3d.c
@@ -256,12 +256,12 @@ pop3d_parse_opt (int key, char *arg, struct argp_state 
*astate)
 int
 pop3d_get_client_address (int fd, struct sockaddr_in *pcs)
 {
-  mu_diag_output (MU_DIAG_INFO, _("Incoming connection opened"));
+  mu_diag_output (MU_DIAG_INFO, _("incoming connection opened"));
 
   /* log information on the connecting client. */
   if (debug_mode)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Started in debugging mode"));
+      mu_diag_output (MU_DIAG_INFO, _("started in debugging mode"));
       return 1;
     }
   else
@@ -270,7 +270,7 @@ pop3d_get_client_address (int fd, struct sockaddr_in *pcs)
       if (getpeername (fd, (struct sockaddr*) pcs, &len) < 0)
        {
          mu_diag_output (MU_DIAG_ERROR,
-                         _("Cannot obtain IP address of client: %s"),
+                         _("cannot obtain IP address of client: %s"),
                          strerror (errno));
          return 1;
        }
@@ -454,12 +454,12 @@ main (int argc, char **argv)
        {
          if (errno == 0 || errno == ENOENT)
             {
-               mu_error (_("%s: No such group"), "mail");
+               mu_error (_("%s: no such group"), "mail");
                exit (EX_CONFIG);
             }
           else
             {
-              mu_error (_("Error getting mail group: %s"), 
+              mu_error (_("error getting mail group: %s"), 
                          mu_strerror (errno));
               exit (EX_OSERR);
             }
@@ -467,7 +467,7 @@ main (int argc, char **argv)
 
       if (setgid (gr->gr_gid) == -1)
        {
-         mu_error (_("Error setting mail group: %s"), mu_strerror (errno));
+         mu_error (_("error setting mail group: %s"), mu_strerror (errno));
          exit (EX_OSERR);
        }
     }
@@ -517,7 +517,7 @@ main (int argc, char **argv)
     }
   
   if (status)
-    mu_error (_("Main loop status: %s"), mu_strerror (status));          
+    mu_error (_("main loop status: %s"), mu_strerror (status));          
   /* Close the syslog connection and exit.  */
   closelog ();
   return status ? EX_SOFTWARE : EX_OK;
diff --git a/pop3d/popauth.c b/pop3d/popauth.c
index 03ab5b6..f9f71f2 100644
--- a/pop3d/popauth.c
+++ b/pop3d/popauth.c
@@ -114,7 +114,7 @@ set_db_perms (struct argp_state *astate, char *opt, int 
*pperm)
       perm = strtoul (opt, &p, 8);
       if (*p)
        {
-         argp_error (astate, _("Invalid octal number: %s"), opt);
+         argp_error (astate, _("invalid octal number: %s"), opt);
          exit (EX_USAGE);
        }
     }
@@ -237,8 +237,8 @@ check_user_perm (int action, struct action_data *ap)
          DBM_FILE db;
          if (mu_dbm_open (ap->input_name, &db, MU_STREAM_CREAT, permissions))
            {
-             mu_error (_("Cannot create %s: %s"),
-                       ap->input_name, mu_strerror (errno));
+             mu_diag_funcall (MU_DIAG_ERROR, "mu_dbm_open",
+                              ap->input_name, errno);
              exit (EX_SOFTWARE);
            }
          mu_dbm_close (db);
@@ -246,8 +246,7 @@ check_user_perm (int action, struct action_data *ap)
        }
       else
        {
-         mu_error (_("Cannot stat %s: %s"), ap->input_name, 
-                    mu_strerror (errno));
+         mu_diag_funcall (MU_DIAG_ERROR, "stat", ap->input_name, errno);
          exit (EX_OSERR);
        }
     }
@@ -285,7 +284,8 @@ action_list (struct action_data *ap)
   check_user_perm (ACT_LIST, ap);
   if (mu_dbm_open (ap->input_name, &db, MU_STREAM_READ, 0))
     {
-      mu_error (_("Cannot open %s: %s"), ap->input_name, mu_strerror (errno));
+      mu_error (_("cannot open file %s: %s"),
+               ap->input_name, mu_strerror (errno));
       return 1;
     }
   
@@ -294,7 +294,7 @@ action_list (struct action_data *ap)
       fp = fopen (ap->output_name, "w");
       if (!fp)
        {
-         mu_error (_("Cannot create %s: %s"), ap->output_name, mu_strerror 
(errno));
+         mu_error (_("Cannot create file %s: %s"), ap->output_name, 
mu_strerror (errno));
          return 1;
        }
     }
@@ -309,7 +309,7 @@ action_list (struct action_data *ap)
       MU_DATUM_SIZE (key) = strlen (ap->username);
       if (mu_dbm_fetch (db, key, &contents))
        {
-         mu_error (_("No such user: %s"), ap->username);
+         mu_error (_("no such user: %s"), ap->username);
        }
       else
        {
@@ -360,7 +360,8 @@ action_create (struct action_data *ap)
       fp = fopen (ap->input_name, "r");
       if (!fp)
        {
-         mu_error (_("Cannot open %s: %s"), ap->input_name, mu_strerror 
(errno));
+         mu_error (_("cannot open file %s: %s"),
+                   ap->input_name, mu_strerror (errno));
          return 1;
        }
     }
@@ -434,7 +435,8 @@ open_io (int action, struct action_data *ap, DBM_FILE *db, 
int *not_owner)
     *not_owner = rc;
   if (mu_dbm_open (ap->input_name, db, MU_STREAM_RDWR, permissions))
     {
-      mu_error (_("Cannot open %s: %s"), ap->input_name, mu_strerror (errno));
+      mu_error (_("cannot open file %s: %s"),
+               ap->input_name, mu_strerror (errno));
       return 1;
     }
   return 0;
@@ -474,7 +476,7 @@ action_add (struct action_data *ap)
   
   if (!ap->username)
     {
-      mu_error (_("Missing username to add"));
+      mu_error (_("missing username to add"));
       return 1;
     }
 
@@ -492,7 +494,7 @@ action_add (struct action_data *ap)
 
   rc = mu_dbm_insert (db, key, contents, 1);
   if (rc)
-    mu_error (_("Cannot store datum"));
+    mu_error (_("cannot store datum"));
 
   mu_dbm_close (db);
   return rc;
@@ -507,7 +509,7 @@ action_delete (struct action_data *ap)
   
   if (!ap->username)
     {
-      mu_error (_("Missing username to delete"));
+      mu_error (_("missing username to delete"));
       return 1;
     }
 
@@ -519,7 +521,7 @@ action_delete (struct action_data *ap)
 
   rc = mu_dbm_delete (db, key);
   if (rc)
-    mu_error (_("Cannot remove record for %s"), ap->username);
+    mu_error (_("cannot remove record for %s"), ap->username);
 
   mu_dbm_close (db);
   return rc;
@@ -539,7 +541,7 @@ action_chpass (struct action_data *ap)
 
   if (!ap->username)
     {
-      mu_error (_("Missing username"));
+      mu_error (_("missing username"));
       return 1;
     }
 
@@ -550,7 +552,7 @@ action_chpass (struct action_data *ap)
   MU_DATUM_SIZE (key) = strlen (ap->username);
   if (mu_dbm_fetch (db, key, &contents))
     {
-      mu_error (_("No such user: %s"), ap->username);
+      mu_error (_("no such user: %s"), ap->username);
       return 1;
     }
 
@@ -578,7 +580,7 @@ action_chpass (struct action_data *ap)
   MU_DATUM_SIZE (contents) = strlen (ap->passwd);
   rc = mu_dbm_insert (db, key, contents, 1);
   if (rc)
-    mu_error (_("Cannot replace datum"));
+    mu_error (_("cannot replace datum"));
 
   mu_dbm_close (db);
   return rc;
diff --git a/pop3d/quit.c b/pop3d/quit.c
index 4d8c5a8..1b1bfe1 100644
--- a/pop3d/quit.c
+++ b/pop3d/quit.c
@@ -42,10 +42,10 @@ pop3d_quit (char *arg)
       if (mu_mailbox_close (mbox) != 0) 
        err = ERR_FILE;
       mu_mailbox_destroy (&mbox);
-      mu_diag_output (MU_DIAG_INFO, _("Session ended for user: %s"), username);
+      mu_diag_output (MU_DIAG_INFO, _("session ended for user: %s"), username);
     }
   else
-    mu_diag_output (MU_DIAG_INFO, _("Session ended for no user"));
+    mu_diag_output (MU_DIAG_INFO, _("session ended for no user"));
 
   state = UPDATE;
   update_login_delay (username);
diff --git a/pop3d/signal.c b/pop3d/signal.c
index de9ec43..56b1bb0 100644
--- a/pop3d/signal.c
+++ b/pop3d/signal.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
-   Copyright (C) 1999, 2000, 2001, 2002, 2007, 2008
-   Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2001, 2002, 2007, 2008,
+   2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -49,7 +49,7 @@ pop3d_child_signal (int signo)
 {
   int code;
   
-  mu_diag_output (MU_DIAG_CRIT, _("Got signal `%s'"), strsignal (signo));
+  mu_diag_output (MU_DIAG_CRIT, _("got signal `%s'"), strsignal (signo));
 
   switch (signo)
     {
diff --git a/pop3d/user.c b/pop3d/user.c
index ca0da51..39fb336 100644
--- a/pop3d/user.c
+++ b/pop3d/user.c
@@ -30,7 +30,7 @@ pop3d_begin_session ()
   if (check_login_delay (auth_data->name))
     {
       mu_diag_output (MU_DIAG_INFO,
-             _("User `%s' tried to log in within the minimum allowed delay"),
+             _("user `%s' tried to log in within the minimum allowed delay"),
              auth_data->name);
       state = AUTHORIZATION;
       mu_auth_data_destroy (&auth_data);
@@ -77,8 +77,8 @@ pop3d_begin_session ()
     mu_mailbox_get_url (mbox, &url);
     mu_mailbox_messages_count (mbox, &total);
     mu_diag_output (MU_DIAG_INFO,
-           ngettext ("User `%s' logged in with mailbox `%s' (%s message)",
-                     "User `%s' logged in with mailbox `%s' (%s messages)",
+           ngettext ("user `%s' logged in with mailbox `%s' (%s message)",
+                     "user `%s' logged in with mailbox `%s' (%s messages)",
                      (unsigned long) total),
            username, mu_url_to_string (url), mu_umaxtostr (0, total));
   }
@@ -131,7 +131,7 @@ pop3d_user (char *arg)
 
       if (auth_data == NULL)
        {
-         mu_diag_output (MU_DIAG_INFO, _("User `%s': nonexistent"), arg);
+         mu_diag_output (MU_DIAG_INFO, _("user `%s' nonexistent"), arg);
          return ERR_BAD_LOGIN;
        }
 
@@ -140,14 +140,15 @@ pop3d_user (char *arg)
 
       if (rc)
        {
-         mu_diag_output (MU_DIAG_INFO, _("User `%s': authentication failed"), 
arg);
+         mu_diag_output (MU_DIAG_INFO,
+                         _("user `%s': authentication failed"), arg);
          mu_auth_data_destroy (&auth_data);
          return ERR_BAD_LOGIN;
        }
     }
   else if (mu_c_strcasecmp (cmd, "QUIT") == 0)
     {
-      mu_diag_output (MU_DIAG_INFO, _("Possible probe of account `%s'"), arg);
+      mu_diag_output (MU_DIAG_INFO, _("possible probe of account `%s'"), arg);
       return pop3d_quit (pass);
     }
   else
diff --git a/readmsg/readmsg.c b/readmsg/readmsg.c
index 2f619ab..7d2ad35 100644
--- a/readmsg/readmsg.c
+++ b/readmsg/readmsg.c
@@ -309,12 +309,12 @@ main (int argc, char **argv)
   if (status != 0)
     {
       if (mailbox_name)
-       fprintf (stderr, _("Could not create mailbox `%s': %s\n"),
-                mailbox_name,
-                mu_strerror(status));
+       mu_error (_("could not create mailbox `%s': %s"),
+                 mailbox_name,
+                 mu_strerror(status));
       else
-       fprintf (stderr, _("Could not create default mailbox: %s\n"),
-                mu_strerror(status));
+       mu_error (_("could not create default mailbox: %s"),
+                 mu_strerror(status));
       exit (2);
     }
 
@@ -332,7 +332,7 @@ main (int argc, char **argv)
       mu_url_t url = NULL;
 
       mu_mailbox_get_url (mbox, &url);
-      mu_error (_("Could not open mailbox `%s': %s\n"),
+      mu_error (_("could not open mailbox `%s': %s"),
                mu_url_to_string (url), mu_strerror (status));
       exit (2);
     }
@@ -344,7 +344,7 @@ main (int argc, char **argv)
                         &weedc, &weedv);
   if (status)
     {
-      mu_error (_("Cannot parse weedlist: %s"), mu_strerror (status));
+      mu_error (_("cannot parse weedlist: %s"), mu_strerror (status));
       exit (2);
     }
 
diff --git a/sieve/sieve.c b/sieve/sieve.c
index 7af6275..4f848f1 100644
--- a/sieve/sieve.c
+++ b/sieve/sieve.c
@@ -1,6 +1,6 @@
 /* GNU Mailutils -- a suite of utilities for electronic mail
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 
-   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    GNU Mailutils is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -275,7 +275,7 @@ cb_email (mu_debug_t debug, void *data, mu_config_value_t 
*val)
     return 1;
   int rc = mu_set_user_email (val->v.string);
   if (rc)
-    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("Invalid email: %s"),
+    mu_cfg_format_error (debug, MU_DEBUG_ERROR, _("invalid email: %s"),
                         mu_strerror (rc));
   return rc;
 }
@@ -365,19 +365,19 @@ sieve_message (mu_sieve_machine_t mach)
   rc = mu_stdio_stream_create (&instr, stdin, MU_STREAM_SEEKABLE);
   if (rc)
     {
-      mu_error (_("Cannot create stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot create stream: %s"), mu_strerror (rc));
       return EX_SOFTWARE;
     }
   rc = mu_stream_open (instr);
   if (rc)
     {
-      mu_error (_("Cannot open stream: %s"), mu_strerror (rc));
+      mu_error (_("cannot open stream: %s"), mu_strerror (rc));
       return EX_SOFTWARE;
     }
   rc = mu_stream_to_message (instr, &msg);
   if (rc)
     {
-      mu_error (_("Cannot create message from stream: %s"),
+      mu_error (_("cannot create message from stream: %s"),
                mu_strerror (rc));
       return EX_SOFTWARE;
     }
@@ -401,17 +401,17 @@ sieve_mailbox (mu_sieve_machine_t mach, mu_debug_t debug)
   if ((rc = mu_mailbox_create_default (&mbox, mbox_url)) != 0)
     {
       if (mbox)
-       mu_error (_("Could not create mailbox `%s': %s"),
+       mu_error (_("could not create mailbox `%s': %s"),
                  mbox_url, mu_strerror (rc));
       else
-       mu_error (_("Could not create default mailbox: %s"),
+       mu_error (_("could not create default mailbox: %s"),
                  mu_strerror (rc));
       goto cleanup;
     }
 
   if (debug && (rc = mu_mailbox_set_debug (mbox, debug)))
     {
-      mu_error (_("mu_mailbox_set_debug failed: %s"), mu_strerror (rc));
+      mu_diag_funcall (MU_DIAG_ERROR, "mu_mailbox_set_debug", NULL, rc);
       goto cleanup;
     }
 
@@ -428,11 +428,11 @@ sieve_mailbox (mu_sieve_machine_t mach, mu_debug_t debug)
          mu_url_t url = NULL;
 
          mu_mailbox_get_url (mbox, &url);
-         mu_error (_("Opening mailbox `%s' failed: %s"),
+         mu_error (_("cannot open mailbox %s: %s"),
                    mu_url_to_string (url), mu_strerror (rc));
        }
       else
-       mu_error (_("Opening default mailbox failed: %s"),
+       mu_error (_("cannot open default mailbox: %s"),
                  mu_strerror (rc));
       mu_mailbox_destroy (&mbox);
       goto cleanup;
@@ -453,10 +453,10 @@ sieve_mailbox (mu_sieve_machine_t mach, mu_debug_t debug)
       if ((e = mu_mailbox_expunge (mbox)) != 0)
        {
          if (mbox)
-           mu_error (_("Expunge on mailbox `%s' failed: %s"),
+           mu_error (_("expunge on mailbox `%s' failed: %s"),
                      mbox_url, mu_strerror (e));
          else
-           mu_error (_("Expunge on default mailbox failed: %s"),
+           mu_error (_("expunge on default mailbox failed: %s"),
                      mu_strerror (e));
        }
       
@@ -500,7 +500,7 @@ main (int argc, char *argv[])
   rc = mu_sieve_machine_init (&mach, NULL);
   if (rc)
     {
-      mu_error (_("Cannot initialize sieve machine: %s"), mu_strerror (rc));
+      mu_error (_("cannot initialize sieve machine: %s"), mu_strerror (rc));
       return EX_SOFTWARE;
     }
 
@@ -534,13 +534,12 @@ main (int argc, char *argv[])
     {
       if ((rc = mu_debug_create (&debug, mach)))
        {
-         mu_error (_("mu_debug_create failed: %s"), mu_strerror (rc));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_debug_create", NULL, rc);
          return EX_SOFTWARE;
        }
       if ((rc = mu_debug_set_level (debug, debug_level)))
        {
-         mu_error (_("mu_debug_set_level failed: %s"),
-                   mu_strerror (rc));
+         mu_diag_funcall (MU_DIAG_ERROR, "mu_debug_set_level", NULL, rc);
          return EX_SOFTWARE;
        }
       mu_sieve_set_debug_object (mach, debug);


hooks/post-receive
-- 
GNU Mailutils




reply via email to

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