<<< Date Index >>>     <<< Thread Index >>>

Re: [PATCH] incorporating inline into pgp menu



On 2004-02-04 03:51:34 -0500, Dale Woolridge wrote:

> Around this time last year I posted a patch which incorporates
> inline (traditional) as an option in the pgp menu.  As the patch
> has been in use by myself (and others) for nearly a year, as well
> as being part of the mutt-devel freebsd port for six months, I
> thought it might be time to repost the patch in the hopes it
> would be merged into the mutt distribution.  Here again is the
> list of changes:

Thanks for this excellent patch.  I'm incorporating the attached
version of it.

The most important change is that I have removed the special
handling of auto_inline from the PGP menu: The user's interactive
choice shouldn't be quietly overridden by a configuration variable.

Regards,
-- 
Thomas Roessler · Personal soap box at <http://log.does-not-exist.org/>.
? diffs
? err
? mutt-1.5.5-extra.tgz
? patch
? patch-1.5.3-CVS.tlr.idna.1
? patch-1.5.4.nr.tag_prefix_cond
? patch-1.5.4.tlr.nodots.1
? patch-1.5.4.tlr.pgpsmimeautoselect.1
? patch-1.5.4.tlr.query_mem.1
? patch-1.5.4.tlr.save_attachment.1
? patch-1.5.4.tlr.tag_prefix.1
? patch-1.5.5.1.regexp_lists.1
? patch-1.5.5.1.tlr.libidncompat.1
? patch-1.5.5.1.tlr.partsign.1
? patch-1.5.5.1.tlr.retainable_sigs.1
? patch-1.5.5.1.tlr.thread_free.1
? patch-1.5.5.1.tlr.unbind.1
? patch-1.5.5.1692
? patch-1.5.6.tlr.1804.1
? patch-1.5.6.tlr.1808.1
? patch-1.5.x.dw.pgp-menu-traditional.2
? pgpring.sample
? send.c.new
? sort.c.new
? stamp-h1
? typescript
Index: PATCHES
===================================================================
RCS file: /cvs/mutt/mutt/PATCHES,v
retrieving revision 3.6
diff -u -r3.6 PATCHES
--- PATCHES     9 Dec 2002 17:44:54 -0000       3.6
+++ PATCHES     12 Apr 2004 21:08:52 -0000
@@ -0,0 +1,2 @@
+patch-1.5.x.dw.pgp-menu-traditional.2
+patch-1.5.x.dw.pgp-menu-traditional.2
Index: compose.c
===================================================================
RCS file: /cvs/mutt/mutt/compose.c,v
retrieving revision 3.14
diff -u -r3.14 compose.c
--- compose.c   4 Oct 2003 20:34:59 -0000       3.14
+++ compose.c   12 Apr 2004 21:08:52 -0000
@@ -131,6 +131,13 @@
     addstr (_("Sign"));
   else
     addstr (_("Clear"));
+
+  if ((WithCrypto & APPLICATION_PGP))
+    if ((msg->security & (ENCRYPT | SIGN)))
+      if ((msg->security & INLINE))
+       addstr (_(" (inline)"));
+      else
+       addstr (_(" (PGP/MIME)"));
   clrtoeol ();
 
   move (HDR_CRYPTINFO, 0);
@@ -162,15 +169,15 @@
   if (!(WithCrypto & APPLICATION_PGP))
     return msg->security;
 
-  switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or 
(f)orget it? "),
-                            _("esabf")))
+  switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, 
(i)nline, or (f)orget it? "),
+                            _("esabif")))
   {
   case 1: /* (e)ncrypt */
-    msg->security |= ENCRYPT;
+    msg->security ^= ENCRYPT;
     break;
 
   case 2: /* (s)ign */
-    msg->security |= SIGN;
+    msg->security ^= SIGN;
     break;
 
   case 3: /* sign (a)s */
@@ -197,18 +204,31 @@
     break;
 
   case 4: /* (b)oth */
-    msg->security = ENCRYPT | SIGN;
+    if ((msg->security & (ENCRYPT | SIGN)) == (ENCRYPT | SIGN))
+      msg->security = 0;
+    else
+      msg->security |= (ENCRYPT | SIGN);
+    break;
+
+  case 5: /* (i)nline */
+    if ((msg->security & (ENCRYPT | SIGN)))
+      msg->security ^= INLINE;
+    else
+      msg->security &= ~INLINE;
     break;
 
-  case 5: /* (f)orget it */
+  case 6: /* (f)orget it */
     msg->security = 0;
     break;
   }
 
-  if (msg->security && msg->security != APPLICATION_PGP)
-    msg->security |= APPLICATION_PGP;
-  else
-    msg->security = 0;
+  if (msg->security)
+  {
+    if (! (msg->security & (ENCRYPT | SIGN)))
+      msg->security = 0;
+    else
+      msg->security |= APPLICATION_PGP;
+  }
 
   if(*redraw)
       redraw_crypt_lines (msg);
Index: crypt.c
===================================================================
RCS file: /cvs/mutt/mutt/crypt.c,v
retrieving revision 3.22
diff -u -r3.22 crypt.c
--- crypt.c     12 Jan 2004 19:59:38 -0000      3.22
+++ crypt.c     12 Apr 2004 21:08:53 -0000
@@ -159,12 +159,11 @@
 
 
 
-int mutt_protect (HEADER *msg, HEADER *cur, char *keylist)
+int mutt_protect (HEADER *msg, char *keylist)
 {
   BODY *pbody = NULL, *tmp_pbody = NULL;
   BODY *tmp_smime_pbody = NULL;
   BODY *tmp_pgp_pbody = NULL;
-  int traditional = 0;
   int flags = (WithCrypto & APPLICATION_PGP)? msg->security: 0;
   int i;
 
@@ -174,36 +173,22 @@
   if ((msg->security & SIGN) && !crypt_valid_passphrase (msg->security))
     return (-1);
 
-  if ((WithCrypto & APPLICATION_PGP) && (msg->security & APPLICATION_PGP))
+  if ((WithCrypto & APPLICATION_PGP) && ((msg->security & PGPINLINE) == 
PGPINLINE))
   {
-    if ((msg->content->type == TYPETEXT) &&
-       !ascii_strcasecmp (msg->content->subtype, "plain"))
+    /* they really want to send it inline... go for it */
+    if (!isendwin ()) mutt_endwin _("Invoking PGP...");
+    pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist);
+    if (pbody)
     {
-      if (cur && cur->security && option (OPTPGPAUTOTRAD)
-         && (option (OPTCRYPTREPLYENCRYPT)
-             || option (OPTCRYPTREPLYSIGN)
-             || option (OPTCRYPTREPLYSIGNENCRYPTED)))
-       {
-         if(mutt_is_application_pgp(cur->content))
-           traditional = 1;
-       }
-      else
-       {
-         if ((i = query_quadoption (OPT_PGPTRADITIONAL, _("Create a 
traditional (inline) PGP message?"))) == -1)
-           return -1;
-         else if (i == M_YES)
-           traditional = 1;
-       }
-    }
-    if (traditional)
-    {
-      if (!isendwin ()) mutt_endwin _("Invoking PGP...");
-      if (!(pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, 
keylist)))
-       return -1;
-
       msg->content = pbody;
       return 0;
     }
+
+    /* otherwise inline won't work...ask for revert */
+    if ((i = query_quadoption (OPT_PGPMIMEASK, _("Message can't be sent 
inline.  Revert to using PGP/MIME?"))) != M_YES)
+      return -1;
+
+    /* go ahead with PGP/MIME */
   }
 
   if (!isendwin ()) mutt_endwin (NULL);
@@ -391,6 +376,9 @@
     else if (p && !ascii_strncasecmp ("pgp-keys", p, 7))
       t |= PGPKEY;
   }
+  if (t)
+    t |= PGPINLINE;
+
   return t;
 }
 
Index: init.h
===================================================================
RCS file: /cvs/mutt/mutt/init.h,v
retrieving revision 3.45
diff -u -r3.45 init.h
--- init.h      12 Apr 2004 19:53:29 -0000      3.45
+++ init.h      12 Apr 2004 21:08:54 -0000
@@ -1378,6 +1378,48 @@
   ** removed, while the inner multipart/signed part is retained.
   ** (PGP only)
   */
+  { "pgp_create_traditional",  DT_SYN, R_NONE, UL "pgp_autoinline", 0 },
+  { "pgp_autoinline",          DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0 },
+  /*
+  ** .pp
+  ** This option controls whether Mutt generates old-style inline
+  ** (traditional) PGP encrypted or signed messages under certain
+  ** circumstances.  This can be overridden by use of the \fIpgp-menu\fP,
+  ** when inline is not required.
+  ** .pp
+  ** Note that Mutt might automatically use PGP/MIME for messages
+  ** which consist of more than a single MIME part.  Mutt can be
+  ** configured to ask before sending PGP/MIME messages when inline
+  ** (traditional) would not work.
+  ** See also: ``$$pgp_mime_ask''.
+  ** .pp
+  ** Also note that using the old-style PGP message format is \fBstrongly\fP
+  ** \fBdeprecated\fP.
+  ** (PGP only)
+  */
+  { "pgp_auto_traditional",    DT_SYN, R_NONE, UL "pgp_replyinline", 0 },
+  { "pgp_replyinline",         DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 },
+  /*
+  ** .pp
+  ** Setting this variable will cause Mutt to always attempt to
+  ** create an inline (traditional) message when replying to a
+  ** message which is PGP encrypted/signed inline.  This can be
+  ** overridden by use of the \fIpgp-menu\fP, when inline is not
+  ** required.  This option does not automatically detect if the
+  ** (replied-to) message is inline; instead it relies on Mutt
+  ** internals for previously checked/flagged messages.
+  ** .pp
+  ** Note that Mutt might automatically use PGP/MIME for messages
+  ** which consist of more than a single MIME part.  Mutt can be
+  ** configured to ask before sending PGP/MIME messages when inline
+  ** (traditional) would not work.
+  ** See also: ``$$pgp_mime_ask''.
+  ** .pp
+  ** Also note that using the old-style PGP message format is \fBstrongly\fP
+  ** \fBdeprecated\fP.
+  ** (PGP only)
+  ** 
+  */
   { "pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, 1 },
   /*
   ** .pp
@@ -1427,35 +1469,15 @@
   ** `reverse-'.
   ** (PGP only)
   */
-  { "pgp_create_traditional", DT_QUAD, R_NONE, OPT_PGPTRADITIONAL, M_NO },
+  { "pgp_mime_ask", DT_QUAD, R_NONE, OPT_PGPMIMEASK, M_NO },
   /*
   ** .pp
-  ** This option controls whether Mutt generates old-style inline PGP
-  ** encrypted or signed messages.
-  ** .pp
-  ** Note that PGP/MIME will be used automatically for messages which have
-  ** a character set different from us-ascii, or which consist of more than
-  ** a single MIME part.
+  ** This option controls whether Mutt will prompt you for
+  ** automatically sending a (signed/encrypted) message using
+  ** PGP/MIME when inline (traditional) fails (for any reason).
   ** .pp
   ** Also note that using the old-style PGP message format is \fBstrongly\fP
   ** \fBdeprecated\fP.
-  ** (PGP only)
-  */
-  { "pgp_auto_traditional", DT_BOOL, R_NONE, OPTPGPAUTOTRAD, 0 },
-  /*
-  ** .pp
-  ** This option causes Mutt to generate an old-style inline PGP
-  ** encrypted or signed message when replying to an old-style
-  ** message, and a PGP/MIME message when replying to a PGP/MIME
-  ** message.  Note that this option is only meaningful when using
-  ** ``$$crypt_replyencrypt'', ``$$crypt_replysign'', or
-  ** ``$$crypt_replysignencrypted''.
-  ** .pp
-  ** Also note that PGP/MIME will be used automatically for messages
-  ** which have a character set different from us-ascii, or which
-  ** consist of more than a single MIME part.
-  ** .pp
-  ** This option overrides ``$$pgp_create_traditional''
   ** (PGP only)
   */
 
Index: mutt.h
===================================================================
RCS file: /cvs/mutt/mutt/mutt.h,v
retrieving revision 3.25
diff -u -r3.25 mutt.h
--- mutt.h      12 Apr 2004 20:33:33 -0000      3.25
+++ mutt.h      12 Apr 2004 21:08:55 -0000
@@ -1,3 +1,4 @@
+
 /*
  * Copyright (C) 1996-2002 Michael R. Elkins <me@xxxxxxxx>
  * 
@@ -277,7 +278,7 @@
   OPT_MIMEFWD,
   OPT_MIMEFWDREST,
   OPT_MOVE,
-  OPT_PGPTRADITIONAL, /* create old-style PGP messages */
+  OPT_PGPMIMEASK,     /* ask to revert to PGP/MIME when inline fails */
 #ifdef USE_POP
   OPT_POPDELETE,
   OPT_POPRECONNECT,
@@ -444,7 +445,6 @@
   OPTPGPIGNORESUB,
   OPTPGPCHECKEXIT,
   OPTPGPLONGIDS,
-  OPTPGPAUTOTRAD,
 #if 0
   OPTPGPENCRYPTSELF,
 #endif
@@ -452,6 +452,8 @@
   OPTPGPSTRICTENC,
   OPTFORWDECRYPT,
   OPTPGPSHOWUNUSABLE,
+  OPTPGPAUTOINLINE,
+  OPTPGPREPLYINLINE,
 
   /* pseudo options */
 
@@ -641,7 +643,7 @@
 
 typedef struct header
 {
-  unsigned int security : 10;  /* bit 0-6: flags, bit 7,8: application.
+  unsigned int security : 11;  /* bit 0-6: flags, bit 7,8: application.
                                 see: crypt.h pgplib.h, smime.h */
 
   unsigned int mime : 1;               /* has a Mime-Version header? */
Index: mutt_crypt.h
===================================================================
RCS file: /cvs/mutt/mutt/mutt_crypt.h,v
retrieving revision 3.6
diff -u -r3.6 mutt_crypt.h
--- mutt_crypt.h        12 Apr 2004 20:33:33 -0000      3.6
+++ mutt_crypt.h        12 Apr 2004 21:08:55 -0000
@@ -36,17 +36,19 @@
 #define BADSIGN    (1 << 3)
 #define PARTSIGN   (1 << 4)
 #define SIGNOPAQUE (1 << 5)
-/* (1 << 6) is used by PGPKEY below. */
+#define KEYBLOCK   (1 << 6) /* KEY too generic? */
+#define INLINE     (1 << 7)
 
-#define APPLICATION_PGP    (1 << 7) 
-#define APPLICATION_SMIME  (1 << 8)
+#define APPLICATION_PGP    (1 << 8) 
+#define APPLICATION_SMIME  (1 << 9)
 
-#define PGP_TRADITIONAL_CHECKED (1 << 9)
+#define PGP_TRADITIONAL_CHECKED (1 << 10)
 
 #define PGPENCRYPT  (APPLICATION_PGP | ENCRYPT)
 #define PGPSIGN     (APPLICATION_PGP | SIGN)
 #define PGPGOODSIGN (APPLICATION_PGP | GOODSIGN)
-#define PGPKEY      (APPLICATION_PGP | (1 << 6)) 
+#define PGPKEY      (APPLICATION_PGP | KEYBLOCK) 
+#define PGPINLINE   (APPLICATION_PGP | INLINE)
 
 #define SMIMEENCRYPT  (APPLICATION_SMIME | ENCRYPT)
 #define SMIMESIGN     (APPLICATION_SMIME | SIGN)
@@ -105,7 +107,7 @@
 
 /* Some prototypes -- old crypt.h. */
 
-int mutt_protect (HEADER *, HEADER *, char *);
+int mutt_protect (HEADER *, char *);
 
 int mutt_is_multipart_encrypted (BODY *);
 
Index: postpone.c
===================================================================
RCS file: /cvs/mutt/mutt/postpone.c,v
retrieving revision 3.9
diff -u -r3.9 postpone.c
--- postpone.c  3 Sep 2003 17:22:09 -0000       3.9
+++ postpone.c  12 Apr 2004 21:08:55 -0000
@@ -484,6 +484,11 @@
        *q = '\0';
        break;
 
+      case 'i':
+      case 'I':
+       pgp |= INLINE;
+       break;
+
       default:
         mutt_error _("Illegal PGP header");
         return 0;
Index: send.c
===================================================================
RCS file: /cvs/mutt/mutt/send.c,v
retrieving revision 3.29
diff -u -r3.29 send.c
--- send.c      4 Jan 2004 10:03:46 -0000       3.29
+++ send.c      12 Apr 2004 21:08:56 -0000
@@ -1256,7 +1256,14 @@
        msg->security |= SIGN;
       if (option (OPTCRYPTREPLYSIGNENCRYPTED) && cur && (cur->security & 
ENCRYPT))
        msg->security |= SIGN;
-    }      
+      if (WithCrypto & APPLICATION_PGP && (msg->security & (ENCRYPT | SIGN)))
+      {
+       if (option (OPTPGPAUTOINLINE))
+         msg->security |= INLINE;
+       if (option (OPTPGPREPLYINLINE) && cur && (cur->security & INLINE))
+         msg->security |= INLINE;
+      }
+    }
 
     if (WithCrypto && msg->security)
     {
@@ -1494,7 +1501,7 @@
       clear_content = msg->content;
   
       if ((crypt_get_keys (msg, &pgpkeylist) == -1) ||
-          mutt_protect (msg, cur, pgpkeylist) == -1)
+          mutt_protect (msg, pgpkeylist) == -1)
       {
         msg->content = mutt_remove_multipart (msg->content);
         
@@ -1574,7 +1581,7 @@
          /* this means writing only the main part */
          msg->content = clear_content->parts;
 
-         if (mutt_protect (msg, cur, pgpkeylist) == -1)
+         if (mutt_protect (msg, pgpkeylist) == -1)
          {
            /* we can't do much about it at this point, so
             * fallback to saving the whole thing to fcc
Index: sendlib.c
===================================================================
RCS file: /cvs/mutt/mutt/sendlib.c,v
retrieving revision 3.24
diff -u -r3.24 sendlib.c
--- sendlib.c   19 Sep 2003 13:03:26 -0000      3.24
+++ sendlib.c   12 Apr 2004 21:08:57 -0000
@@ -2405,6 +2405,8 @@
       if (PgpSignAs && *PgpSignAs)
         fprintf (msg->fp, "<%s>", PgpSignAs);
     }
+    if (hdr->security & INLINE)
+      fputc ('I', msg->fp);
     fputc ('\n', msg->fp);
   }
 
@@ -2423,6 +2425,8 @@
        if (SmimeDefaultKey && *SmimeDefaultKey)
            fprintf (msg->fp, "<%s>", SmimeDefaultKey);
     }
+    if (hdr->security & INLINE)
+      fputc ('I', msg->fp);
     fputc ('\n', msg->fp);
   }
 
Index: po/ca.po
===================================================================
RCS file: /cvs/mutt/mutt/po/ca.po,v
retrieving revision 3.14
diff -u -r3.14 ca.po
--- po/ca.po    21 Mar 2004 16:02:10 -0000      3.14
+++ po/ca.po    12 Apr 2004 21:08:58 -0000
@@ -599,14 +599,14 @@
 msgstr "Xifra amb: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbds, o en (c)lar? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbds, en (l)nia, o en 
(c)lar? "
 
 # ivb (2003/03/26)
-# ivb  (x)ifra, (s)igna, si(g)na com a, (a)mbds, (c)lar
+# ivb  (x)ifra, (s)igna, si(g)na com a, (a)mbds, en (l)nia, o en (c)lar
 #: compose.c:166
-msgid "esabf"
-msgstr "xsgac"
+msgid "esabif"
+msgstr "xsgalc"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/cs.po
===================================================================
RCS file: /cvs/mutt/mutt/po/cs.po,v
retrieving revision 3.12
diff -u -r3.12 cs.po
--- po/cs.po    1 Feb 2004 18:26:11 -0000       3.12
+++ po/cs.po    12 Apr 2004 21:09:00 -0000
@@ -681,13 +681,13 @@
 
 #
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP - ()ifrovat, (p)odepsat, podepsat (j)ako, (o)boj, i (n)ic?"
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP - ()ifrovat, (p)odepsat, podepsat (j)ako, (o)boj, p(m), i 
(n)ic?"
 
 #
 #: compose.c:166
-msgid "esabf"
-msgstr "pjon"
+msgid "esabif"
+msgstr "pjomn"
 
 #
 #. sign (a)s
Index: po/da.po
===================================================================
RCS file: /cvs/mutt/mutt/po/da.po,v
retrieving revision 3.11
diff -u -r3.11 da.po
--- po/da.po    1 Feb 2004 18:26:11 -0000       3.11
+++ po/da.po    12 Apr 2004 21:09:01 -0000
@@ -576,12 +576,12 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "(k)ryptr, (u)nderskriv, underskriv (s)om, (b)egge, (i)ngen PGP"
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "(k)ryptr, (u)nderskriv, underskriv (s)om, (b)egge, i(n)tegreret, 
(i)ngen PGP"
 
 #: compose.c:166
-msgid "esabf"
-msgstr "kusbi"
+msgid "esabif"
+msgstr "kusbni"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/de.po
===================================================================
RCS file: /cvs/mutt/mutt/po/de.po,v
retrieving revision 3.16
diff -u -r3.16 de.po
--- po/de.po    2 Feb 2004 18:17:46 -0000       3.16
+++ po/de.po    12 Apr 2004 21:09:02 -0000
@@ -567,12 +567,12 @@
 msgstr "Verschlsseln mit: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (k)ein PGP? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (i)nline, (k)ein PGP? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "vsabk"
+msgid "esabif"
+msgstr "vsabik"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/el.po
===================================================================
RCS file: /cvs/mutt/mutt/po/el.po,v
retrieving revision 3.12
diff -u -r3.12 el.po
--- po/el.po    1 Feb 2004 18:26:11 -0000       3.12
+++ po/el.po    12 Apr 2004 21:09:04 -0000
@@ -698,14 +698,14 @@
 #
 # compose.c:132
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth,  (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i),  (f)orget it? "
 
 #
 # compose.c:133
 #: compose.c:166
-msgid "esabf"
-msgstr "esabf"
+msgid "esabif"
+msgstr "esabif"
 
 #
 #. sign (a)s
Index: po/eo.po
===================================================================
RCS file: /cvs/mutt/mutt/po/eo.po,v
retrieving revision 3.13
diff -u -r3.13 eo.po
--- po/eo.po    1 Feb 2004 18:26:11 -0000       3.13
+++ po/eo.po    12 Apr 2004 21:09:05 -0000
@@ -569,12 +569,12 @@
 msgstr "ifri per: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (i)fri, (s)ubskribi, subskribi (k)iel, (a)mba, a (f)orgesi? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (i)fri, (s)ubskribi, subskribi (k)iel, (a)mba, \"i(n)line\", a 
(f)orgesi? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "iskaf"
+msgid "esabif"
+msgstr "iskanf"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/es.po
===================================================================
RCS file: /cvs/mutt/mutt/po/es.po,v
retrieving revision 3.14
diff -u -r3.14 es.po
--- po/es.po    1 Feb 2004 18:26:11 -0000       3.14
+++ po/es.po    12 Apr 2004 21:09:07 -0000
@@ -574,13 +574,14 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "co(d)ificar, f(i)rmar (c)omo, amb(o)s o ca(n)celar? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "co(d)ificar, f(i)rmar (c)omo, amb(o)s, inc(l)uido, o ca(n)celar? "
+
 
 #: compose.c:166
 #, fuzzy
-msgid "esabf"
-msgstr "dicon"
+msgid "esabif"
+msgstr "dicoln"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/et.po
===================================================================
RCS file: /cvs/mutt/mutt/po/et.po,v
retrieving revision 3.13
diff -u -r3.13 et.po
--- po/et.po    1 Feb 2004 18:26:11 -0000       3.13
+++ po/et.po    12 Apr 2004 21:09:08 -0000
@@ -569,12 +569,12 @@
 msgstr "Krpti kasutades: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (k)rpti, (a)llkiri, allk. ku(i), (m)lemad vi (u)nusta? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (k)rpti, (a)llkiri, allk. ku(i), (m)lemad, k(e)hasse, vi 
(u)nusta? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "kaimu"
+msgid "esabif"
+msgstr "kaimeu"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/fr.po
===================================================================
RCS file: /cvs/mutt/mutt/po/fr.po,v
retrieving revision 3.24
diff -u -r3.24 fr.po
--- po/fr.po    2 Feb 2004 10:22:56 -0000       3.24
+++ po/fr.po    12 Apr 2004 21:09:10 -0000
@@ -594,12 +594,12 @@
 msgstr "Chiffrer avec : "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, ou (o)ublier ? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, en (l)igne, ou 
(o)ublier ? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "csedo"
+msgid "esabif"
+msgstr "csedlo"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/gl.po
===================================================================
RCS file: /cvs/mutt/mutt/po/gl.po,v
retrieving revision 3.11
diff -u -r3.11 gl.po
--- po/gl.po    1 Feb 2004 18:26:11 -0000       3.11
+++ po/gl.po    12 Apr 2004 21:09:11 -0000
@@ -578,12 +578,12 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou 
(o)lvidar? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "efcao"
+msgid "esabif"
+msgstr "efcaio"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/hu.po
===================================================================
RCS file: /cvs/mutt/mutt/po/hu.po,v
retrieving revision 3.12
diff -u -r3.12 hu.po
--- po/hu.po    1 Feb 2004 18:26:11 -0000       3.12
+++ po/hu.po    12 Apr 2004 21:09:12 -0000
@@ -569,12 +569,12 @@
 msgstr "Titkosts: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (t)itkost, (a)lr, alr (m)int, titkost (s) alr, m(g)se? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (t)itkost, (a)lr, alr (m)int, titkost (s) alr, 
(b)egyazott, m(g)se? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "tamsg"
+msgid "esabif"
+msgstr "tamsbg"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/id.po
===================================================================
RCS file: /cvs/mutt/mutt/po/id.po,v
retrieving revision 3.14
diff -u -r3.14 id.po
--- po/id.po    1 Feb 2004 18:26:12 -0000       3.14
+++ po/id.po    12 Apr 2004 21:09:14 -0000
@@ -570,12 +570,12 @@
 msgstr "Enkrip dengan: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (b)atal? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (i)nline, 
(b)atal? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "etsdb"
+msgid "esabif"
+msgstr "etsdib"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/it.po
===================================================================
RCS file: /cvs/mutt/mutt/po/it.po,v
retrieving revision 3.11
diff -u -r3.11 it.po
--- po/it.po    1 Feb 2004 18:26:12 -0000       3.11
+++ po/it.po    12 Apr 2004 21:09:15 -0000
@@ -580,12 +580,12 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "cifra(e), firma(s), firma come(a), entrambi(b), annulla(f) "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "cifra(e), firma(s), firma come(a), entrambi(b), in l(i)nea , 
annulla(f) "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "esabf"
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/ja.po
===================================================================
RCS file: /cvs/mutt/mutt/po/ja.po,v
retrieving revision 3.22
diff -u -r3.22 ja.po
--- po/ja.po    7 Feb 2004 21:40:11 -0000       3.22
+++ po/ja.po    12 Apr 2004 21:09:17 -0000
@@ -567,12 +567,12 @@
 msgstr "  Ź沽: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (e)Ź沽,(s)̾,(a)..Ȥƽ̾,(b)ξ,(f)?"
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (e)Ź沽,(s)̾,(a)..Ȥƽ̾,(b)ξ,(i)nline,(f)?"
 
 #: compose.c:166
-msgid "esabf"
-msgstr "esabf"
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/ko.po
===================================================================
RCS file: /cvs/mutt/mutt/po/ko.po,v
retrieving revision 3.17
diff -u -r3.17 ko.po
--- po/ko.po    12 Apr 2004 19:37:23 -0000      3.17
+++ po/ko.po    12 Apr 2004 21:09:18 -0000
@@ -568,12 +568,12 @@
 msgstr "ȣȭ : "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP ȣȭ(e), (s),  (a),  (b), (f)? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP ȣȭ(e), (s),  (a),  (b), (i)nline, (f)? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "esabf"
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/lt.po
===================================================================
RCS file: /cvs/mutt/mutt/po/lt.po,v
retrieving revision 3.11
diff -u -r3.11 lt.po
--- po/lt.po    1 Feb 2004 18:26:12 -0000       3.11
+++ po/lt.po    12 Apr 2004 21:09:19 -0000
@@ -576,15 +576,15 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr ""
-"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, rinktis (m)ic algoritm, "
+"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, (l)aike, "
 "ar (p)amirti?"
 
 #: compose.c:166
 #, fuzzy
-msgid "esabf"
-msgstr "usabmp"
+msgid "esabif"
+msgstr "usablp"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
@@ -596,13 +596,12 @@
 msgid ""
 "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (f)orget it? "
 msgstr ""
-"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, rinktis (m)ic algoritm, "
-"ar (p)amirti?"
+"(u)ifruot, pa(s)irayt, uifruo(t) su, pasirayt k(a)ip, a(b)u, ar 
(p)amirti?"
 
 #: compose.c:228
 #, fuzzy
 msgid "eswabf"
-msgstr "usabmp"
+msgstr "ustabp"
 
 #: compose.c:236
 msgid ""
Index: po/nl.po
===================================================================
RCS file: /cvs/mutt/mutt/po/nl.po,v
retrieving revision 3.16
diff -u -r3.16 nl.po
--- po/nl.po    1 Feb 2004 18:26:12 -0000       3.16
+++ po/nl.po    12 Apr 2004 21:09:21 -0000
@@ -566,12 +566,12 @@
 msgstr "Versleutelen met: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eiden, (g)een? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eiden, ber(i)cht, 
(g)een? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "voabg"
+msgid "esabif"
+msgstr "voabig"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/pl.po
===================================================================
RCS file: /cvs/mutt/mutt/po/pl.po,v
retrieving revision 3.18
diff -u -r3.18 pl.po
--- po/pl.po    2 Feb 2004 10:26:14 -0000       3.18
+++ po/pl.po    12 Apr 2004 21:09:22 -0000
@@ -564,12 +564,12 @@
 msgstr "Zaszyfruj uywajc: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, b(e)z PGP? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, (i)nline, b(e)z 
PGP? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "zsabe"
+msgid "esabif"
+msgstr "zsabie"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/pt_BR.po
===================================================================
RCS file: /cvs/mutt/mutt/po/pt_BR.po,v
retrieving revision 3.12
diff -u -r3.12 pt_BR.po
--- po/pt_BR.po 1 Feb 2004 18:26:13 -0000       3.12
+++ po/pt_BR.po 12 Apr 2004 21:09:24 -0000
@@ -579,14 +579,14 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr ""
-"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? "
+"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, em l(i)nha, ou es(q)uece? "
 
 #: compose.c:166
 #, fuzzy
-msgid "esabf"
-msgstr "escamq"
+msgid "esabif"
+msgstr "escaiq"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
@@ -598,12 +598,12 @@
 msgid ""
 "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (f)orget it? "
 msgstr ""
-"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? "
+"(e)ncripa, a(s)sina, e(n)cripa com, assina (c)omo, (a)mbos, ou es(q)uece? "
 
 #: compose.c:228
 #, fuzzy
 msgid "eswabf"
-msgstr "escamq"
+msgstr "esncaq"
 
 #: compose.c:236
 msgid ""
Index: po/ru.po
===================================================================
RCS file: /cvs/mutt/mutt/po/ru.po,v
retrieving revision 3.20
diff -u -r3.20 ru.po
--- po/ru.po    12 Apr 2004 19:37:59 -0000      3.20
+++ po/ru.po    12 Apr 2004 21:09:25 -0000
@@ -575,12 +575,12 @@
 msgstr ": "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP (e), (s), (a) , (b), (f)? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP (e), (s), (a) , (b), (i)nline, 
(f)? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "esabf"
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/sk.po
===================================================================
RCS file: /cvs/mutt/mutt/po/sk.po,v
retrieving revision 3.11
diff -u -r3.11 sk.po
--- po/sk.po    1 Feb 2004 18:26:13 -0000       3.11
+++ po/sk.po    12 Apr 2004 21:09:27 -0000
@@ -584,15 +584,15 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr ""
-"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, ozna alg. mi(c), alebo (f)-zabudn "
+"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudn "
 "na to? "
 
 #: compose.c:166
 #, fuzzy
-msgid "esabf"
-msgstr "esabmf"
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
@@ -604,13 +604,12 @@
 msgid ""
 "S/MIME (e)ncrypt, (s)ign, encrypt (w)ith, sign (a)s, (b)oth, or (f)orget it? "
 msgstr ""
-"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, ozna alg. mi(c), alebo (f)-zabudn "
-"na to? "
+"(e)-ifr, (s)-podp, (w)-ifr s, podp (a)ko, o(b)e, alebo (f)-zabudn na to? "
 
 #: compose.c:228
 #, fuzzy
 msgid "eswabf"
-msgstr "esabmf"
+msgstr "eswabf"
 
 #: compose.c:236
 msgid ""
Index: po/sv.po
===================================================================
RCS file: /cvs/mutt/mutt/po/sv.po,v
retrieving revision 3.12
diff -u -r3.12 sv.po
--- po/sv.po    1 Feb 2004 18:26:13 -0000       3.12
+++ po/sv.po    12 Apr 2004 21:09:28 -0000
@@ -566,12 +566,12 @@
 msgstr "Kryptera med: "
 
 #: compose.c:165
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)da, eller sk(i)ppa det?"
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)da, i(n)fogat, eller 
sk(i)ppa det?"
 
 #: compose.c:166
-msgid "esabf"
-msgstr "ksobi"
+msgid "esabif"
+msgstr "ksobni"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/tr.po
===================================================================
RCS file: /cvs/mutt/mutt/po/tr.po,v
retrieving revision 3.11
diff -u -r3.11 tr.po
--- po/tr.po    1 Feb 2004 18:26:13 -0000       3.11
+++ po/tr.po    12 Apr 2004 21:09:29 -0000
@@ -575,14 +575,14 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr ""
-"(i)frele, i(m)zala, (f)arkl imzala, i(k)isi de, mi(c) algoritmini se "
+"(i)frele, i(m)zala, (f)arkl imzala, i(k)isi de, (i)nline, "
 "yoksa i(p)talm? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr "imfkcp"
+msgid "esabif"
+msgstr "imfkip"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/uk.po
===================================================================
RCS file: /cvs/mutt/mutt/po/uk.po,v
retrieving revision 3.12
diff -u -r3.12 uk.po
--- po/uk.po    1 Feb 2004 18:26:13 -0000       3.12
+++ po/uk.po    12 Apr 2004 21:09:31 -0000
@@ -570,12 +570,12 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-msgstr ".(e), Ц.(s), Ц. (a), (b)  צͦ(f)? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
+msgstr ".(e), Ц.(s), Ц. (a), (b), (i)nline  צͦ(f)? "
 
 #: compose.c:166
-msgid "esabf"
-msgstr ""
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/zh_CN.po
===================================================================
RCS file: /cvs/mutt/mutt/po/zh_CN.po,v
retrieving revision 3.11
diff -u -r3.11 zh_CN.po
--- po/zh_CN.po 1 Feb 2004 18:26:13 -0000       3.11
+++ po/zh_CN.po 12 Apr 2004 21:09:32 -0000
@@ -583,14 +583,14 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr ""
-"(e), (s)ǩ, (a)ñǩ, (b)߽Ҫ, ѡ (m)ic 㷨  (f)"
+"(e), (s)ǩ, (a)ñǩ, (b)߽Ҫ, (i)nline,  (f)"
 ""
 
 #: compose.c:166
-msgid "esabf"
-msgstr ""
+msgid "esabif"
+msgstr "esabif"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269
Index: po/zh_TW.po
===================================================================
RCS file: /cvs/mutt/mutt/po/zh_TW.po,v
retrieving revision 3.11
diff -u -r3.11 zh_TW.po
--- po/zh_TW.po 1 Feb 2004 18:26:13 -0000       3.11
+++ po/zh_TW.po 12 Apr 2004 21:09:34 -0000
@@ -575,12 +575,12 @@
 
 #: compose.c:165
 #, fuzzy
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
 msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 
(5)放棄?"
 
 #: compose.c:166
-msgid "esabf"
-msgstr "12345"
+msgid "esabif"
+msgstr "1234i5"
 
 #. sign (a)s
 #: compose.c:179 compose.c:269

Attachment: pgpLgUKz5qVfk.pgp
Description: PGP signature