mutt: Enable msgfmt translation check flag -c.

2015-09-12 Thread Brendan Cully
changeset: 6507:e85eda4ee425
user:  Kevin McCarthy 
date:  Sun Sep 13 14:41:54 2015 +0800
link:  http://dev.mutt.org/hg/mutt/rev/e85eda4ee425

Enable msgfmt translation check flag -c.

Fix discovered translation format string errors.

diffs (99 lines):

diff -r 6eb6b41f5d45 -r e85eda4ee425 po/Makefile.in.in
--- a/po/Makefile.in.in Sun Sep 13 11:47:09 2015 +0800
+++ b/po/Makefile.in.in Sun Sep 13 14:41:54 2015 +0800
@@ -73,7 +73,7 @@
 
 .po.gmo:
file=`echo $* | sed 's,.*/,,'`.gmo \
- && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
+ && rm -f $$file && $(GMSGFMT) --statistics -c -o $$file $<
 
 
 all: all-@USE_NLS@
diff -r 6eb6b41f5d45 -r e85eda4ee425 po/bg.po
--- a/po/bg.po  Sun Sep 13 11:47:09 2015 +0800
+++ b/po/bg.po  Sun Sep 13 14:41:54 2015 +0800
@@ -1442,7 +1442,7 @@
 #: crypt.c:74
 #, c-format
 msgid "[-- %s output follows%s --]\n"
-msgstr "[-- ñëåäâà ðåçóëòàòúò%s) --]\n"
+msgstr "[-- %s ñëåäâà ðåçóëòàòúò%s) --]\n"
 
 #: crypt.c:89
 msgid "Passphrase(s) forgotten."
diff -r 6eb6b41f5d45 -r e85eda4ee425 po/hu.po
--- a/po/hu.po  Sun Sep 13 11:47:09 2015 +0800
+++ b/po/hu.po  Sun Sep 13 14:41:54 2015 +0800
@@ -314,7 +314,7 @@
 #: color.c:333
 #, c-format
 msgid "%s: no such color"
-msgstr "%%s: nincs ilyen szín"
+msgstr "%s: nincs ilyen szín"
 
 #: color.c:379 color.c:585 color.c:596
 #, c-format
@@ -1941,7 +1941,7 @@
 #: edit.c:464
 #, c-format
 msgid "%s: unknown editor command (~? for help)\n"
-msgstr "s%: ismeretlen editor parancs (~? súgó)\n"
+msgstr "%s: ismeretlen editor parancs (~? súgó)\n"
 
 #: editmsg.c:78
 #, c-format
@@ -3120,7 +3120,7 @@
 #: mutt_socket.c:576
 #, c-format
 msgid "Could not connect to %s (%s)."
-msgstr "%s-hoz nem lehet kapcsolódni %s (%s)."
+msgstr "%s-hoz nem lehet kapcsolódni (%s)."
 
 #: mutt_ssl.c:225
 msgid "Failed to find enough entropy on your system"
diff -r 6eb6b41f5d45 -r e85eda4ee425 po/ko.po
--- a/po/ko.po  Sun Sep 13 11:47:09 2015 +0800
+++ b/po/ko.po  Sun Sep 13 14:41:54 2015 +0800
@@ -4118,7 +4118,7 @@
 #: rfc1524.c:164
 #, c-format
 msgid "Improperly formatted entry for type %s in \"%s\" line %d"
-msgstr "\"%2$s\" %d ¹ø° ÁÙÀÇ %1$s À¯ÇüÀÇ Ç׸ñÀº À߸øµÈ Çü½ÄÀÓ"
+msgstr "\"%2$s\" %3$d ¹ø° ÁÙÀÇ %1$s À¯ÇüÀÇ Ç׸ñÀº À߸øµÈ Çü½ÄÀÓ"
 
 #: rfc1524.c:396
 msgid "No mailcap path specified"
diff -r 6eb6b41f5d45 -r e85eda4ee425 po/pt_BR.po
--- a/po/pt_BR.po   Sun Sep 13 11:47:09 2015 +0800
+++ b/po/pt_BR.po   Sun Sep 13 14:41:54 2015 +0800
@@ -4370,7 +4370,7 @@
 #: sendlib.c:2428
 #, c-format
 msgid "Error sending message, child exited %d (%s)."
-msgstr "Erro ao enviar a mensagem, processo filho saiu com código %d"
+msgstr "Erro ao enviar a mensagem, processo filho saiu com código %d (%s)."
 
 #: sendlib.c:2434
 msgid "Output of the delivery process"
diff -r 6eb6b41f5d45 -r e85eda4ee425 po/uk.po
--- a/po/uk.po  Sun Sep 13 11:47:09 2015 +0800
+++ b/po/uk.po  Sun Sep 13 14:41:54 2015 +0800
@@ -2354,7 +2354,7 @@
 #: init.c:879
 #, c-format
 msgid "%sgroup: warning: bad IDN '%s'.\n"
-msgstr "%group: попередження: погане IDN: '%s'.\n"
+msgstr "%sgroup: попередження: погане IDN: '%s'.\n"
 
 #: init.c:1094
 msgid "attachments: no disposition"
@@ -4177,7 +4177,7 @@
 #: sendlib.c:2608
 #, c-format
 msgid "Bad IDN %s while preparing resent-from."
-msgstr "Погане IDN при підготовці resent-from."
+msgstr "Погане IDN %s при підготовці resent-from."
 
 #: signal.c:43
 #, c-format


Re: [Mutt] #3780: Ctrl-Y causes mutt to suspend on OSX

2015-09-12 Thread Mutt
#3780: Ctrl-Y causes mutt to suspend on OSX
-+--
  Reporter:  balderdash  |  Owner:  mutt-dev
  Type:  defect  | Status:  closed
  Priority:  trivial |  Milestone:
 Component:  user interface  |Version:
Resolution:  invalid |   Keywords:
-+--

Comment (by dgc):

 Balderdash, as tempting as it is to go point for point with you, I don't
 think that serves any purpose. Your paraphrasing of the argument is a
 straw man, not what we're actually telling you. So far nobody but you has
 disagreed with our stance. This is very simply an OS issue. Other
 applications (but not most, by far) choose to sidestep the OS behavior.
 Mutt does not, and we feel there are good reasons for that. I think we've
 been pretty clear that this actually is harmful, not just a trivial bug
 that we refuse to fix. I've already spent more time researching and
 arguing than it would take to patch, commit, release, and announce an
 update.

 I was curious about those applications that you hold as models though. I
 wanted to be confident that there's no reasonable way of doing what you
 asked — confident that I was not overlooking some smarter approach than
 what I knew about already. After all those vim guys are pretty smart. So I
 took a harder look at what vim does to reclaim !^Y. It turns out it's not
 really aiming for !^Y, that's just a side effect. What vim actually does
 is to disable ''all'' terminal-generated signals by the C (termios)
 equivalent of "stty -isig". Vim blocks !^C, !^Z, all of them, so that on
 keyboard read it actually receives those control characters (\003, \031,
 \032) instead of job control signals. Then vim explicitly maps !^C and !^Z
 in its keyboard bindings to interrupt and suspend, respectively, and when
 those keys are struck it sends itself an interrupt or suspend signal.

 Well, what if I've remapped INTR and SUSP in my terminal? (It doesn't
 matter why I might do that; the point is UNIX allows it and an application
 shouldn't subvert that.) What about vim? ''Vim totally subverts that.''
 Try this experiment: `stty susp ^P` to set !^P to suspend in your
 terminal. It works. Run any normal program; !^P will suspend it. That's
 how UNIX is supposed to work. You can rebind terminal signal generation.

 Now run vim. Press !^P — nothing happens. Press !^Z — it suspends. Vim's
 approach means that it doesn't follow what the user or system has
 configured. I argue that's completely broken and vim has absolutely done
 the wrong thing.

 Your argument is that nobody wants !^Y anyway, so I imagine you would also
 argue that nobody does (or, at least, should) rebind INTR and SUSP. But
 this is not mutt's decision to make. The OS provides these configurable
 capabilities for a reason. Because it provides them, there can be people
 who use them. If someone uses them, and they run mutt and find that it
 prevents what their OS allows, ''that is a mutt bug.'' As Brendan said,
 that's a layering violation.

 Emacs? Same result as vim. Broken. Pine? I don't know, I use mutt.
 Netstat? I can't imagine why netstat is doing ''anything'' with raw
 keyboard bindings anyway, so I don't really care. Less? Less does what it
 should, if it's going to disable !^Y. Less is okayish. Sudo? Sudo is not
 the same class of program. It's like ssh, it allocates a pty and owns that
 terminal. You get the new terminal's behavior, not the old one's. Not
 analogous at all to mutt. (But try "sudo cat", i.e. run sudo without
 allocating a pty. Now !^Y suspends.) So you have one case of something
 else that does what you're proposing.

 Google around for people asking why !^Y suspends their software. The
 answer is always "stty dsusp undef" or something like it. In every case I
 found, the OP is glad for an answer and happily accepts the solution.
 You're the only person I've ever heard unhappy with using what the OS
 gives you to control your operating environment, and asking for the
 application to circumvent it for you to save you one line in a shell
 config file. That is, as you say, not remotely compelling.

 Mutt should not be making these decisions. Neither should vim, emacs, or
 netstat.

 If you want a wrapper, here's one. But you don't. You don't want DSUSP at
 all, so just put the stty in your .profile and call it a day.

 {{{
 #!/bin/sh
 # Disable DSUSP processing while running mutt

 # Capture old termio params
 old=$(stty -g)

 # Disable DSUSP
 stty dsusp undef

 # Set a trap to restore termios
 trap "rc=$?; stty $old; exit $rc" 0 1 2 3 15

 # Run mutt
 mutt "$@"
 }}}

-- 
Ticket URL: 
Mutt 
The Mutt mail user agent



mutt: Add translation comments and improvements.

2015-09-12 Thread Brendan Cully
changeset: 6506:6eb6b41f5d45
user:  Kevin McCarthy 
date:  Sun Sep 13 11:47:09 2015 +0800
link:  http://dev.mutt.org/hg/mutt/rev/6eb6b41f5d45

Add translation comments and improvements.

These were suggested by TAKAHASHI Tamotsu.

diffs (430 lines):

diff -r 1a281a527cb7 -r 6eb6b41f5d45 compose.c
--- a/compose.c Sat Sep 12 11:25:53 2015 +0800
+++ b/compose.c Sun Sep 13 11:47:09 2015 +0800
@@ -1023,6 +1023,8 @@
{
  if (stat(idx[menu->current]->content->filename, &st) == -1)
  {
+/* L10N:
+   "stat" is a system call. Do "man 2 stat" for more information. 
*/
mutt_error (_("Can't stat %s: %s"), fname, strerror (errno));
break;
  }
diff -r 1a281a527cb7 -r 6eb6b41f5d45 crypt-gpgme.c
--- a/crypt-gpgme.c Sat Sep 12 11:25:53 2015 +0800
+++ b/crypt-gpgme.c Sun Sep 13 11:47:09 2015 +0800
@@ -1493,9 +1493,9 @@
/* 0 indicates no expiration */
if (sig->exp_timestamp)
{
-  /* L10N: This is trying to match the width of the
-   * "Problem signature from:" translation just above.
-   */
+  /* L10N:
+ This is trying to match the width of the
+ "Problem signature from:" translation just above. */
  state_attach_puts (_("   expires: "), s);
  print_time (sig->exp_timestamp, s);
  state_attach_puts ("\n", s);
@@ -3373,6 +3373,10 @@
 continue;
 
   s = uid->uid;
+  /* L10N:
+ Fill dots to make the DOTFILL entries the same length.
+ In English, msgid "Fingerprint: " is the longest entry for this menu.
+ Your language may vary. */
   fputs (idx ? _(" aka ..: ") :_("Name ..: "), fp);
   if (uid->invalid)
 {
@@ -3396,6 +3400,7 @@
 #else
   strftime (shortbuf, sizeof shortbuf, "%c", tm);
 #endif
+  /* L10N: DOTFILL */
   fprintf (fp, _("Valid From : %s\n"), shortbuf);
 }
   
@@ -3409,6 +3414,7 @@
 #else
   strftime (shortbuf, sizeof shortbuf, "%c", tm);
 #endif
+  /* L10N: DOTFILL */
   fprintf (fp, _("Valid To ..: %s\n"), shortbuf);
 }
 
@@ -3422,8 +3428,10 @@
   if (key->subkeys)
 aval = key->subkeys->length;
 
+  /* L10N: DOTFILL */
   fprintf (fp, _("Key Type ..: %s, %lu bit %s\n"), s2, aval, s);
 
+  /* L10N: DOTFILL */
   fprintf (fp, _("Key Usage .: "));
   delim = "";
 
@@ -3447,6 +3455,7 @@
   if (key->subkeys)
 {
   s = key->subkeys->fpr;
+  /* L10N: DOTFILL */
   fputs (_("Fingerprint: "), fp);
   if (is_pgp && strlen (s) == 40)
 {
@@ -3479,6 +3488,7 @@
 {
   s = key->issuer_serial;
   if (s)
+/* L10N: DOTFILL */
fprintf (fp, _("Serial-No .: 0x%s\n"), s);
 }
 
@@ -3487,6 +3497,7 @@
   s = key->issuer_name;
   if (s)
{
+  /* L10N: DOTFILL */
  fprintf (fp, _("Issued By .: "));
  parse_and_print_user_id (fp, s);
  putc ('\n', fp);
@@ -3506,6 +3517,7 @@
   putc ('\n', fp);
   if ( strlen (s) == 16)
 s += 8; /* display only the short keyID */
+  /* L10N: DOTFILL */
   fprintf (fp, _("Subkey : 0x%s"), s);
  if (subkey->revoked)
 {
@@ -3539,6 +3551,7 @@
 #else
   strftime (shortbuf, sizeof shortbuf, "%c", tm);
 #endif
+  /* L10N: DOTFILL */
   fprintf (fp, _("Valid From : %s\n"), shortbuf);
 }
 
@@ -3552,6 +3565,7 @@
 #else
   strftime (shortbuf, sizeof shortbuf, "%c", tm);
 #endif
+  /* L10N: DOTFILL */
   fprintf (fp, _("Valid To ..: %s\n"), shortbuf);
 }
 
@@ -3565,8 +3579,10 @@
  else
aval = 0;
 
+  /* L10N: DOTFILL */
   fprintf (fp, _("Key Type ..: %s, %lu bit %s\n"), "PGP", aval, s);
 
+  /* L10N: DOTFILL */
   fprintf (fp, _("Key Usage .: "));
   delim = "";
 
@@ -4017,8 +4033,14 @@
   ts = _("keys matching");
 
 if (p)
+  /* L10N:
+ %1$s is one of the previous four entries.
+ %2$s is an address.
+ e.g. "S/MIME keys matching ." */
   snprintf (buf, sizeof (buf), _("%s <%s>."), ts, p->mailbox);
 else
+  /* L10N:
+ e.g. 'S/MIME keys matching "Michael Elkins".' */
   snprintf (buf, sizeof (buf), _("%s \"%s\"."), ts, s);
 menu->title = buf; 
   }
@@ -4597,6 +4619,10 @@
   att->use_disp = 0;
   att->type = TYPEAPPLICATION;
   att->subtype = safe_strdup ("pgp-keys");
+  /* L10N:
+ MIME description for exported (attached) keys.
+ You can translate this entry to a non-ASCII string (it will be encoded),
+ but it may be safer to keep it untranslated. */
   snprintf (buff, sizeof (buff), _("PGP Key 0x%s."), crypt_keyid (key));
   att->description = safe_strdup (buff);
   mutt_update_encoding (att);
@@ -4686,9 +4712,9 @@
 {
   prompt = _("S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode 
off? ");
   

[Mutt] #3783: index_format does not provide a sequence for Cc: recipients

2015-09-12 Thread Mutt
#3783: index_format does not provide a sequence for Cc: recipients
--+--
 Reporter:  derekschrock  |  Owner:  mutt-dev
 Type:  enhancement   | Status:  new
 Priority:  minor |  Milestone:
Component:  mutt  |Version:  1.5.23
 Keywords:  index_format  |
--+--
 I need to pass the Cc: recipients to my EDITOR.  [[BR]]

 Using '''attribution''' I can't do this since '''index_format''' does not
 provide a sequence for the Cc: header.

-- 
Ticket URL: 
Mutt 
The Mutt mail user agent



Re: [Mutt] #3780: Ctrl-Y causes mutt to suspend on OSX

2015-09-12 Thread Mutt
#3780: Ctrl-Y causes mutt to suspend on OSX
-+--
  Reporter:  balderdash  |  Owner:  mutt-dev
  Type:  defect  | Status:  closed
  Priority:  trivial |  Milestone:
 Component:  user interface  |Version:
Resolution:  invalid |   Keywords:
-+--
Changes (by wyardley):

 * priority:  major => trivial


-- 
Ticket URL: 
Mutt 
The Mutt mail user agent



Re: [Mutt] #3780: Ctrl-Y causes mutt to suspend on OSX

2015-09-12 Thread Mutt
#3780: Ctrl-Y causes mutt to suspend on OSX
-+--
  Reporter:  balderdash  |  Owner:  mutt-dev
  Type:  defect  | Status:  closed
  Priority:  major   |  Milestone:
 Component:  user interface  |Version:
Resolution:  invalid |   Keywords:
-+--

Comment (by wyardley):

 Honestly, the fact that you're still arguing when everyone else in the
 ticket has pointed out that there's a simple (and correct) workaround -
 that is, don't bind dsusp to `^`Y within your shell. I don't know if
 you're just embarrassed that you didn't realize the reason for this
 behavior or what, but I think your continued remarks (and continuing to
 re-open this ticket) make it clear that you are not planning on listening
 to what anyone has to say on this issue.

 Just because Mutt is more correct in accepting signals than other software
 does not mean that the behavior is incorrect. Mutt is not mainstream
 software; it's software mostly used by people who do care about things
 like having their terminal behave as they expect.

 Interestingly enough, I see this behavior in OS X, but primarily use Mutt
 on a FreeBSD system. On FreeBSD, while stty -a still shows "dsusp = `^`Y",
 the behavior is not the same. Installed via ports, but doesn't seem like
 any of the patches change this behavior.

 Have to say, I've been using Mutt on a number of systems for many years,
 and have never found myself accidentally hitting `^`Y, and I've never seen
 a single other complaint about this behavior on the mutt-users mailing
 list.

-- 
Ticket URL: 
Mutt 
The Mutt mail user agent



Re: [Mutt] #3780: Ctrl-Y causes mutt to suspend on OSX

2015-09-12 Thread Mutt
#3780: Ctrl-Y causes mutt to suspend on OSX
-+--
  Reporter:  balderdash  |  Owner:  mutt-dev
  Type:  defect  | Status:  closed
  Priority:  major   |  Milestone:
 Component:  user interface  |Version:
Resolution:  invalid |   Keywords:
-+--

Comment (by balderdash):

 I never said mutt is the *only* program like this.  Just that it doesn't
 have to be like this, since other software manages to avoid it without
 horrible side-effects.  I also never said that Ctrl-Y is bad in every
 program.  Just that it's bad in mutt (and *would* be bad in Vim for
 totally parallel reasons).

 I am mystified at the general response, which is effectively parodied
 thus:

 "So your popular class of OSes has made the decision to place important
 library L in a nonstandard directory N instead of standard location S and
 you want us to adjust the configure script so it can find L on your OS,
 like a whole host of other software does?  We won't, because the fact that
 you can't build mutt against L is 100% your OS's fault, and the solution
 is obviously for you to just symlink or copy L into S, which is easy as
 pie.'

 The fact that your OS put L in N *deliberately* has magically granted that
 decision the following special status: no software should work around this
 decision even if the effects of L being in N are bad for a large class of
 users of that software on that OS, and neither-good-nor bad for everyone
 else.

 Indeed, the other software that manages to find N/L shouldn't be doing
 that.  If they were designed well, they would *also* make everyone on your
 OS except a hypothetical two peoople create this symlink (it's easy!).

 If you don't like it, then you can just deal with a mutt that isn't built
 against L even though that demonstrably sucks, or you can file a bug with
 your OS because there's a realistic chance they'll listen.

 What's that you say?  Some things a user shouldn't have to do themselves
 even though it would be easy for them to do so, and this sure looks like
 one of those cases?  But this is not one of those cases, because it's easy
 for the user to do it themselves.  We therefore close this issue."

-- 
Ticket URL: 
Mutt 
The Mutt mail user agent