- updated to 1.5.19
authorAdam Gołębiowski <adamg@pld-linux.org>
Sun, 1 Mar 2009 00:33:58 +0000 (00:33 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    mutt-bj.status-time.patch -> 1.4
    mutt-folder_columns.patch -> 1.5
    mutt-pgp_hook.patch -> 1.7
    mutt-pl.po-update.patch -> 1.6
    mutt-rr.compressed.patch -> 1.12
    mutt-vvv.nntp.patch -> 1.10
    mutt-vvv.quote.patch -> 1.3

mutt-bj.status-time.patch
mutt-folder_columns.patch
mutt-pgp_hook.patch
mutt-pl.po-update.patch
mutt-rr.compressed.patch
mutt-vvv.nntp.patch
mutt-vvv.quote.patch

index 690c51a38c20672a80eb7b538431f62541725d43..3351573a34103c0bab2a8f2200073c5aa627ebcd 100644 (file)
@@ -30,9 +30,9 @@ diff -dur -x '*~' -x '*.orig' mutt-1.5.10.orig/init.h mutt-1.5.10/init.h
 +  ** .dt %[fmt] .dd the current date and time. ``fmt'' is
 +  **                expanded by the system call ``strftime'';
 +  **                a leading bang disables locales 
-   ** .dt %>X .dd right justify the rest of the string and pad with "X"
-   ** .dt %|X .dd pad to the end of the line with "X"
-   ** .de
+   ** .dt %>X .dd right justify the rest of the string and pad with ``X''
+   ** .dt %|X .dd pad to the end of the line with ``X''
+   ** .dt %*X .dd soft-fill with character ``X'' as pad
 @@ -2671,6 +2674,16 @@
    ** Setting this variable causes the ``status bar'' to be displayed on
    ** the first line of the screen rather than near the bottom.
index 59ffc402c07f891487317f595b06ba6142c23a10..57cbff46e6a6fa8e19280387f1026258390da8c9 100644 (file)
@@ -35,7 +35,7 @@
  WHERE short PagerIndexLines;
 --- mutt-1.3.23-orig/browser.c Sun Oct 28 19:35:26 2001
 +++ mutt-1.3.23/browser.c      Tue Oct 30 22:44:18 2001
-@@ -476,12 +476,13 @@
+@@ -492,12 +492,13 @@
  }
  
  static void init_menu (struct browser_state *state, MUTTMENU *menu, char *title,
@@ -51,7 +51,7 @@
    if(menu->current >= menu->max)
      menu->current = menu->max - 1;
    if (menu->current < 0)
-@@ -634,7 +635,7 @@
+@@ -660,7 +661,7 @@
    menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_FOLDER,
      FolderHelp);
  
@@ -60,7 +60,7 @@
  
    FOREVER
    {
-@@ -765,7 +766,7 @@
+@@ -791,7 +792,7 @@
            }
            menu->current = 0; 
            menu->top = 0; 
@@ -69,7 +69,7 @@
            break;
          }
        }
-@@ -863,7 +864,7 @@
+@@ -890,7 +891,7 @@
          menu->data = state.entry;
          menu->current = 0; 
          menu->top = 0; 
@@ -77,8 +77,8 @@
 +        init_menu (&state, menu, title, sizeof (title), buffy, 1);
          MAYBE_REDRAW (menu->redraw);
        }
-       break;
-@@ -893,7 +894,7 @@
+       /* else leave error on screen */
+@@ -949,7 +950,7 @@
                    sizeof (struct folder_file) * (state.entrylen - (nentry+1)));
              state.entrylen--;
              mutt_message _("Mailbox deleted.");
@@ -87,7 +87,7 @@
              MAYBE_REDRAW (menu->redraw);
            }
          }
-@@ -933,7 +934,7 @@
+@@ -990,7 +991,7 @@
            menu->data = state.entry;
            menu->current = 0; 
            menu->top = 0; 
          }
          else
  #endif
-@@ -947,7 +948,7 @@
-             {
-               menu->current = 0; 
-               menu->top = 0; 
+@@ -1021,7 +1022,7 @@
+               }
+               menu->current = 0;
+               menu->top = 0;
 -              init_menu (&state, menu, title, sizeof (title), buffy);
 +              init_menu (&state, menu, title, sizeof (title), buffy, 1);
              }
              else
-             {
-@@ -1010,12 +1011,12 @@
-             state.imap_browse = 1;
+               mutt_error (_("%s is not a directory."), buf);
+@@ -1078,12 +1079,12 @@
              imap_browse (LastDir, &state);
+             browser_sort (&state);
              menu->data = state.entry;
 -            init_menu (&state, menu, title, sizeof (title), buffy);
 +            init_menu (&state, menu, title, sizeof (title), buffy, 1);
            else
            {
              mutt_error _("Error scanning directory.");
-@@ -1099,7 +1100,7 @@
+@@ -1168,7 +1169,7 @@
  #endif
        else if (examine_directory (menu, &state, LastDir, prefix) == -1)
          goto bail;
 +      init_menu (&state, menu, title, sizeof (title), buffy, 1);
        break;
  
-       case OP_BROWSER_NEW_FILE:
+       case OP_BUFFY_LIST:
 --- mutt-1.3.23-orig/menu.c    Sun Oct 28 19:35:26 2001
 +++ mutt-1.3.23/menu.c Wed Oct 31 09:30:28 2001
 @@ -126,14 +126,14 @@
index acb02bcdfb35504e6503caca3a26ae1f9bd7b9fb..8c77a611e2473511dd2d2cd36ad824e9d240c42b 100644 (file)
  char *mutt_make_date (char *, size_t);
 --- crypt-hook-both/doc/manual.xml.head Feb 2004 17:45:33 -0000        3.26
 +++ crypt-hook-both/doc/manual.xml.head Feb 2004 13:19:44 -0000
-@@ -1450,3 +1450,5 @@ normally use.  The crypt-hook command pr
- specify the ID of the public key to be used when encrypting messages to
--a certain recipient.
-+a certain recipient.  You may use multiple pgp-hook's with the same
-+pattern; multiple matching pgp-hook's result in the use of multiple
+@@ -3293,7 +3293,9 @@
+ or because, for some reasons, you need to override the key Mutt would
+ normally use.  The <literal>crypt-hook</literal> command provides a
+ method by which you can specify the ID of the public key to be used
+-when encrypting messages to a certain recipient.
++when encrypting messages to a certain recipient. You may use multiple pgp-hook's
++with the same pattern; multiple matching pgp-hook's result in the use of multiple
 +keyids for recipient.
+ </para>
  
+ <para>
 --- crypt-hook-both/doc/muttrc.man.head Feb 2004 17:10:43 -0000        3.10
 +++ crypt-hook-both/doc/muttrc.man.head Feb 2004 13:19:44 -0000
 @@ -297,3 +297,6 @@ to a certain recipient.  The meaning of 
index 553d4b19096ed1557398ebff9360b38def7446ac..d264ec4996a91655eb6855991ad32b89e57c0790 100644 (file)
---- mutt-1.5.18/po/pl.po.orig  2008-05-17 21:35:34.000000000 +0200
-+++ mutt-1.5.18/po/pl.po       2008-07-25 17:38:44.512753492 +0200
+--- mutt-1.5.19/po/pl.po.orig  2009-01-06 01:36:44.000000000 +0100
++++ mutt-1.5.19/po/pl.po       2009-02-28 21:54:56.268283689 +0100
 @@ -2,6 +2,8 @@
  # Polskie teksty dla Mutta 1.x
  # 1998-2006 Pawe³ Dziekoñski
  # 1998-2002 Sergiusz Paw³owicz
 +# 2005-2008 Jakub Bogusz
-+# 2007 Adam Go³êbiowski
++# 2007-2009 Adam Go³êbiowski
  # Pre-translation has bean done using PePeSza,
  # get it from http://home.elka.pw.edu.pl/~pkolodz2/pepesza.html
  #
+@@ -10,7 +12,7 @@
+ "Project-Id-Version: mutt-1.5.17\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2009-01-05 16:36-0800\n"
+-"PO-Revision-Date: 2007-11-02 11:11+0200\n"
++"PO-Revision-Date: 2009-02-28 21:54+0100\n"
+ "Last-Translator: Pawe³ Dziekoñski <dzieko@gmail.com>\n"
+ "Language-Team: POLISH <pl@li.org>\n"
+ "MIME-Version: 1.0\n"
 @@ -96,18 +98,16 @@
  msgstr "Zapisz do pliku: "
  
- #: alias.c:345
+ #: alias.c:361
 -#, fuzzy
  msgid "Error reading alias file"
 -msgstr "B³±d podczas próby przegl±dania pliku"
 +msgstr "B³±d podczas odczytu pliku aliasów"
  
- #: alias.c:364
+ #: alias.c:382
  msgid "Alias added."
  msgstr "Alias dodany."
  
- #: alias.c:372
+ #: alias.c:390
 -#, fuzzy
  msgid "Error seeking in alias file"
 -msgstr "B³±d podczas próby przegl±dania pliku"
 +msgstr "B³±d podczas przemieszczania po pliku aliasów"
  
- #: attach.c:113 attach.c:245 attach.c:477 attach.c:968
+ #: attach.c:113 attach.c:245 attach.c:477 attach.c:969
  msgid "Can't match nametemplate, continue?"
-@@ -2455,22 +2455,20 @@
+@@ -865,12 +865,11 @@
+ #: crypt-gpgme.c:1286
+ msgid "aka: "
+-msgstr ""
++msgstr "aka: "
+ #: crypt-gpgme.c:1297
+-#, fuzzy
+ msgid "created: "
+-msgstr "Utworzyæ %s?"
++msgstr "utworzony: "
+ #: crypt-gpgme.c:1362
+ msgid "Error getting key information: "
+@@ -881,24 +880,20 @@
+ #. fingerprint and the key validity (which is neither fully or
+ #. ultimate).
+ #: crypt-gpgme.c:1369 crypt-gpgme.c:1384
+-#, fuzzy
+ msgid "Good signature from:"
+ msgstr "Poprawny podpis z³o¿ony przez: "
+ #: crypt-gpgme.c:1376
+-#, fuzzy
+ msgid "*BAD* signature from:"
+-msgstr "Poprawny podpis z³o¿ony przez: "
++msgstr "*Z£Y* podpis z³o¿ony przez: "
+ #: crypt-gpgme.c:1392
+-#, fuzzy
+ msgid "Problem signature from:"
+-msgstr "Poprawny podpis z³o¿ony przez: "
++msgstr "Problematyczny podpis z³o¿ony przez: "
+ #: crypt-gpgme.c:1393
+-#, fuzzy
+ msgid "               expires: "
+-msgstr "                aka: "
++msgstr "                wygasa: "
+ #. Note: We don't need a current time output because GPGME avoids
+ #. such an attack by separating the meta information from the
+@@ -939,9 +934,9 @@
+ "\n"
+ #: crypt-gpgme.c:2082
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error extracting key data!\n"
+-msgstr "B³±d sprawdzania klucza: "
++msgstr "B³±d podczas pobierania danych o kluczu!\n"
+ #: crypt-gpgme.c:2265
+ #, c-format
+@@ -1838,9 +1833,8 @@
+ msgstr "[-- Typ: %s/%s, Kodowanie: %s, Wielko¶æ: %s --]\n"
+ #: handler.c:1223
+-#, fuzzy
+ msgid "One or more parts of this message could not be displayed"
+-msgstr "Ostrze¿enie: fragment tej wiadomo¶ci nie zosta³ podpisany."
++msgstr "Ostrze¿enie: co najmniej jeden fragment wiadomo¶ci nie móg³ byæ wy¶wietlony"
+ #: handler.c:1275
+ #, c-format
+@@ -2087,9 +2081,9 @@
+ msgstr "Skrzynka zosta³a zamkniêta"
+ #: imap/imap.c:126
+-#, fuzzy, c-format
++#, c-format
+ msgid "CREATE failed: %s"
+-msgstr "SSL nie powiod³o siê: %s"
++msgstr "Polecenie CREATE nie powiod³o siê: %s"
+ #: imap/imap.c:190
+ #, c-format
+@@ -2331,9 +2325,9 @@
+ msgstr "%s nie jest ustawiony"
+ #: init.c:1926
+-#, fuzzy, c-format
++#, c-format
+ msgid "Invalid value for option %s: \"%s\""
+-msgstr "Niew³a¶ciwy dzieñ miesi±ca: %s"
++msgstr "Niew³a¶ciwy warto¶æ dla opcji %s: \"%s\""
+ #: init.c:2064
+ #, c-format
+@@ -2484,14 +2478,13 @@
  "Aby zg³osiæ b³±d, odwied¼ stronê http://bugs.mutt.org/.\n"
  
  #: main.c:67
 -#, fuzzy
  msgid ""
- "Copyright (C) 1996-2008 Michael R. Elkins and others.\n"
+ "Copyright (C) 1996-2009 Michael R. Elkins and others.\n"
  "Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.\n"
  "Mutt is free software, and you are welcome to redistribute it\n"
  "under certain conditions; type `mutt -vv' for details.\n"
  msgstr ""
 -"Copyright (C) 1996-2007 Michael R. Elkins i inni.\n"
-+"Copyright (C) 1996-2008 Michael R. Elkins i inni.\n"
++"Copyright (C) 1996-2009 Michael R. Elkins i inni.\n"
  "Program nie jest objêty ¯ADN¡ gwarancj±; szczegó³y poznasz pisz±c 'mutt -"
  "vv'.\n"
--"Mutt jest darmowym oprogramowaniem, zapraszamy \n"
-+"Mutt jest darmowym oprogramowaniem, zapraszamy\n"
- "do jego redystrybucji pod pewnymi warunkami, szczegó³y poznasz pisz±c 'mutt -"
+ "Mutt jest darmowym oprogramowaniem, zapraszamy \n"
+@@ -2499,7 +2492,6 @@
  "vv'.\n"
  
  #: main.c:73
  msgid ""
  "Copyright (C) 1996-2007 Michael R. Elkins <me@mutt.org>\n"
  "Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>\n"
-@@ -2483,11 +2481,11 @@
+@@ -2513,13 +2505,14 @@
  "Many others not mentioned here contributed code, fixes,\n"
  "and suggestions.\n"
  msgstr ""
 -"Copyright (C) 1996-2006 Michael R. Elkins <me@mutt.org>\n"
 +"Copyright (C) 1996-2007 Michael R. Elkins <me@mutt.org>\n"
  "Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>\n"
- "Copyright (C) 1997-2007 Thomas Roessler <roessler@does-not-exist.org>\n"
+-"Copyright (C) 1997-2007 Thomas Roessler <roessler@does-not-exist.org>\n"
++"Copyright (C) 1997-2008 Thomas Roessler <roessler@does-not-exist.org>\n"
  "Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de>\n"
 -"Copyright (C) 1999-2007 Brendan Cully <brendan@kublai.com>\n"
-+"Copyright (C) 1999-2008 Brendan Cully <brendan@kublai.com>\n"
++"Copyright (C) 1999-2009 Brendan Cully <brendan@kublai.com>\n"
  "Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>\n"
  "Copyright (C) 2000-2002 Edmund Grimley Evans <edmundo@rano.org>\n"
++"Copyright (C) 2006-2008 Rocco Rutte <pdmef@gmx.net>\n"
  "\n"
-@@ -2654,7 +2652,7 @@
+ "Wielu innych twórców, nie wspomnianych tutaj,\n"
+ "wnios³o wiele nowego kodu, poprawek i sugestii.\n"
+@@ -2560,7 +2553,6 @@
+ "1301, USA.\n"
+ #: main.c:113
+-#, fuzzy
+ msgid ""
+ "usage: mutt [<options>] [-z] [-f <file> | -yZ]\n"
+ "       mutt [<options>] [-x] [-Hi <file>] [-s <subj>] [-bc <addr>] [-a "
+@@ -2687,7 +2679,7 @@
  
- #: main.c:831
+ #: main.c:848
  msgid "Failed to parse mailto: link\n"
 -msgstr ""
-+msgstr "Nie uda³o siê przeanalizowaæ odno¶nika mailto:\n"
++msgstr "Przetwarzanie odno¶nika mailto: nie powiod³o siê\n"
  
- #: main.c:843
+ #: main.c:860
  msgid "No recipients specified.\n"
-@@ -5001,15 +4999,3 @@
- #: ../keymap_alldefs.h:202
- msgid "show S/MIME options"
- msgstr "poka¿ opcje S/MIME"
--
--#~ msgid "SASL failed to get local IP address"
--#~ msgstr "SASL: b³±d pobierania lokalnego adresu IP"
--
--#~ msgid "SASL failed to parse local IP address"
--#~ msgstr "SASL: b³±d przetwarzania lokalnego adresu IP"
--
--#~ msgid "SASL failed to get remote IP address"
--#~ msgstr "SASL: b³±d pobierania zdalnego adresu IP"
--
--#~ msgid "SASL failed to parse remote IP address"
--#~ msgstr "SASL: b³±d zdalnego lokalnego adresu IP"
+@@ -2841,9 +2833,8 @@
+ msgstr "Sprawdzanie %s..."
+ #: mh.c:1314 mh.c:1392
+-#, fuzzy
+ msgid "Could not flush message to disk"
+-msgstr "Wys³anie listu nie powiod³o siê."
++msgstr "Zapisane wiadomo¶ci na dysk nie powiod³o siê."
+ #: mh.c:1359
+ msgid "maildir_commit_message(): unable to set time on file"
+@@ -2971,24 +2962,22 @@
+ msgstr "Certyfikat serwera utraci³ wa¿no¶æ"
+ #: mutt_ssl.c:696
+-#, fuzzy
+ msgid "cannot get certificate subject"
+-msgstr "Nie mo¿na pobraæ certyfikatu z docelowego hosta"
++msgstr "nie mo¿na pobraæ tytu³ certyfikatu"
+ #: mutt_ssl.c:708
+-#, fuzzy
+ msgid "cannot get certificate common name"
+-msgstr "Nie mo¿na pobraæ certyfikatu z docelowego hosta"
++msgstr "nie mo¿na pobraæ ogólnej nazwy certyfikatu"
+ #: mutt_ssl.c:717
+-#, fuzzy, c-format
++#, c-format
+ msgid "certificate owner does not match hostname %s"
+-msgstr "W³a¶ciciel certyfikatu nie odpowiada nadawcy."
++msgstr "w³a¶ciciel certyfikatu nie zgadza siê z hostem %s"
+ #: mutt_ssl.c:754
+-#, fuzzy, c-format
++#, c-format
+ msgid "Certificate host check failed: %s"
+-msgstr "Certyfikat zosta³ zapisany"
++msgstr "Weryfikacja hosta certyfikatu nie powiod³a siê: %s"
+ #: mutt_ssl.c:845 mutt_ssl_gnutls.c:664
+ msgid "This certificate belongs to:"
+@@ -3021,7 +3010,7 @@
+ #: mutt_ssl.c:881 mutt_ssl_gnutls.c:786
+ #, c-format
+ msgid "SSL Certificate check (certificate %d of %d in chain)"
+-msgstr ""
++msgstr "Weryfikacja certyfikatu SSL (certyfikat %d z %d w ³añcuchu)"
+ #: mutt_ssl.c:887 mutt_ssl_gnutls.c:793
+ msgid "(r)eject, accept (o)nce, (a)ccept always"
+@@ -4220,7 +4209,7 @@
+ #: smtp.c:228
+ msgid "No from address given"
+-msgstr ""
++msgstr "Brak adresu nadawcy"
+ #: smtp.c:284
+ msgid "SMTP session failed: read error"
+@@ -4244,9 +4233,9 @@
+ msgstr "Uwierzytelnianie SMTP wymaga SASL"
+ #: smtp.c:461
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s authentication failed, trying next method"
+-msgstr "Uwierzytelnianie SASL nie powiod³o siê"
++msgstr "Uwierzytelnianie %s nie powiod³o siê"
+ #: smtp.c:478
+ msgid "SASL authentication failed"
index ece155e989af3bc30d958b4b56e2b39bc444f2bf..d50a4edc04d037b36af68e07f78b380355720dea 100644 (file)
@@ -1,58 +1,6 @@
-diff -udprP mutt-1.5.16.orig/Makefile.am mutt-1.5.16/Makefile.am
---- mutt-1.5.16.orig/Makefile.am       2007-06-04 07:20:01.000000000 +0300
-+++ mutt-1.5.16/Makefile.am    2007-06-12 14:22:35.000000000 +0300
-@@ -18,6 +18,7 @@ BUILT_SOURCES = keymap_defs.h patchlist.
- bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
- mutt_SOURCES = $(BUILT_SOURCES) \
-       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
-+      compress.c \
-       crypt.c cryptglue.c \
-       commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
-       edit.c enter.c flags.c init.c filter.c from.c \
-@@ -67,6 +68,7 @@ EXTRA_mutt_SOURCES = account.c md5c.c mu
- EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
-       configure account.h \
-+      compress.h \
-       attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \
-       globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
-       mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
-diff -udprP mutt-1.5.16.orig/Makefile.in mutt-1.5.16/Makefile.in
---- mutt-1.5.16.orig/Makefile.in       2007-06-10 05:43:26.000000000 +0300
-+++ mutt-1.5.16/Makefile.in    2007-06-12 14:22:35.000000000 +0300
-@@ -14,6 +14,10 @@
- @SET_MAKE@
-+mutt_SOURCES += compress.c
-+EXTRA_DIST += compress.h
-+mutt_OBJECTS += compress.o
-+
- srcdir = @srcdir@
- top_srcdir = @top_srcdir@
---- mutt-1.5.18.orig/doc/Muttrc.head   2007-06-06 19:02:56.000000000 +0300
-+++ mutt-1.5.18/doc/Muttrc.head        2007-06-12 14:22:35.000000000 +0300
-@@ -24,6 +24,11 @@ macro generic,pager <F1> "<shell-escape>
- macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
- bind browser y exit
-+# Use folders which match on \\.gz$ as gzipped folders:
-+# open-hook \\.gz$ "gzip -cd %f > %t"
-+# close-hook \\.gz$ "gzip -c %t > %f"
-+# append-hook \\.gz$ "gzip -c %t >> %f"
-+
- # If Mutt is unable to determine your site's domain name correctly, you can
- # set the default here.
- #
-diff -udprP mutt-1.5.16.orig/PATCHES mutt-1.5.16/PATCHES
---- mutt-1.5.16.orig/PATCHES   2007-04-30 05:07:48.000000000 +0300
-+++ mutt-1.5.16/PATCHES        2007-06-12 14:22:35.000000000 +0300
-@@ -0,0 +1 @@
-+rr.compressed
-diff -udprP mutt-1.5.16.orig/compress.c mutt-1.5.16/compress.c
---- mutt-1.5.16.orig/compress.c        1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/compress.c     2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/compress.c mutt-1.5.19/compress.c
+--- mutt-1.5.19.orig/compress.c        1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/compress.c     2009-01-06 19:16:04.000000000 +0200
 @@ -0,0 +1,490 @@
 +/*
 + * Copyright (C) 1997 Alain Penders <Alain@Finale-Dev.com>
@@ -214,8 +162,8 @@ diff -udprP mutt-1.5.16.orig/compress.c mutt-1.5.16/compress.c
 +}
 +
 +static const char *
-+compresshook_format_str (char *dest, size_t destlen, char op, const char *src,
-+                       const char *fmt, const char *ifstring, 
++compresshook_format_str (char *dest, size_t destlen, size_t col, char op,
++                       const char *src, const char *fmt, const char *ifstring, 
 +                       const char *elsestring, unsigned long data, 
 +                       format_flag flags)
 +{
@@ -544,9 +492,9 @@ diff -udprP mutt-1.5.16.orig/compress.c mutt-1.5.16/compress.c
 +}
 +
 +#endif /* USE_COMPRESSED */
-diff -udprP mutt-1.5.16.orig/compress.h mutt-1.5.16/compress.h
---- mutt-1.5.16.orig/compress.h        1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/compress.h     2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/compress.h mutt-1.5.19/compress.h
+--- mutt-1.5.19.orig/compress.h        1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/compress.h     2009-01-06 19:16:04.000000000 +0200
 @@ -0,0 +1,27 @@
 +/*
 + * Copyright (C) 1997 Alain Penders <Alain@Finale-Dev.com>
@@ -575,10 +523,10 @@ diff -udprP mutt-1.5.16.orig/compress.h mutt-1.5.16/compress.h
 +int mutt_test_compress_command (const char *);
 +int mutt_check_mailbox_compressed (CONTEXT *);
 +void mutt_fast_close_compressed (CONTEXT *);
-diff -udprP mutt-1.5.16.orig/config.h.in mutt-1.5.16/config.h.in
---- mutt-1.5.16.orig/config.h.in       2007-06-10 05:44:57.000000000 +0300
-+++ mutt-1.5.16/config.h.in    2007-06-12 14:22:35.000000000 +0300
-@@ -512,6 +512,9 @@
+diff -udprP mutt-1.5.19.orig/config.h.in mutt-1.5.19/config.h.in
+--- mutt-1.5.19.orig/config.h.in       2008-11-18 01:54:00.000000000 +0200
++++ mutt-1.5.19/config.h.in    2009-01-06 19:16:04.000000000 +0200
+@@ -521,6 +521,9 @@
  
  /* Define to enable Sun mailtool attachments support. */
  #undef SUN_ATTACHMENT
@@ -588,10 +536,10 @@ diff -udprP mutt-1.5.16.orig/config.h.in mutt-1.5.16/config.h.in
  
  /* Define to use dotlocking for mailboxes. */
  #undef USE_DOTLOCK
-diff -udprP mutt-1.5.16.orig/configure mutt-1.5.16/configure
---- mutt-1.5.16.orig/configure 2007-06-10 05:43:29.000000000 +0300
-+++ mutt-1.5.16/configure      2007-06-12 14:22:35.000000000 +0300
-@@ -1350,6 +1350,7 @@ Optional Features:
+diff -udprP mutt-1.5.19.orig/configure mutt-1.5.19/configure
+--- mutt-1.5.19.orig/configure 2008-11-18 01:53:41.000000000 +0200
++++ mutt-1.5.19/configure      2009-01-06 19:16:04.000000000 +0200
+@@ -1366,6 +1366,7 @@ Optional Features:
    --disable-warnings      Turn off compiler warnings (not recommended)
    --enable-nfs-fix        Work around an NFS with broken attributes caching
    --enable-mailtool       Enable Sun mailtool attachments support
@@ -599,7 +547,7 @@ diff -udprP mutt-1.5.16.orig/configure mutt-1.5.16/configure
    --enable-locales-fix    The result of isprint() is unreliable
    --enable-exact-address  Enable regeneration of email addresses
    --enable-hcache         Enable header caching
-@@ -14414,6 +14415,18 @@ echo "${ECHO_T}$mutt_cv_regex_broken" >&
+@@ -12978,6 +12979,18 @@ echo "${ECHO_T}$mutt_cv_regex_broken" >&
          fi
  fi
  
@@ -618,10 +566,10 @@ diff -udprP mutt-1.5.16.orig/configure mutt-1.5.16/configure
  if test $mutt_cv_regex = yes; then
  
  cat >>confdefs.h <<\_ACEOF
-diff -udprP mutt-1.5.16.orig/configure.ac mutt-1.5.16/configure.ac
---- mutt-1.5.16.orig/configure.ac      2007-06-04 07:20:01.000000000 +0300
-+++ mutt-1.5.16/configure.ac   2007-06-12 14:22:35.000000000 +0300
-@@ -780,6 +780,11 @@ AC_ARG_ENABLE(mailtool, AC_HELP_STRING([
+diff -udprP mutt-1.5.19.orig/configure.ac mutt-1.5.19/configure.ac
+--- mutt-1.5.19.orig/configure.ac      2008-11-17 22:15:26.000000000 +0200
++++ mutt-1.5.19/configure.ac   2009-01-06 19:16:04.000000000 +0200
+@@ -789,6 +789,11 @@ AC_ARG_ENABLE(mailtool, AC_HELP_STRING([
                  AC_DEFINE(SUN_ATTACHMENT,1,[ Define to enable Sun mailtool attachments support. ])
          fi])
  
@@ -633,10 +581,10 @@ diff -udprP mutt-1.5.16.orig/configure.ac mutt-1.5.16/configure.ac
  AC_ARG_ENABLE(locales-fix, AC_HELP_STRING([--enable-locales-fix], [The result of isprint() is unreliable]),
          [if test x$enableval = xyes; then
                  AC_DEFINE(LOCALES_HACK,1,[ Define if the result of isprint() is unreliable. ])
-diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
---- mutt-1.5.16.orig/curs_main.c       2007-05-20 10:30:00.000000000 +0300
-+++ mutt-1.5.16/curs_main.c    2007-06-12 14:22:35.000000000 +0300
-@@ -1111,6 +1111,11 @@ int mutt_index_menu (void)
+diff -udprP mutt-1.5.19.orig/curs_main.c mutt-1.5.19/curs_main.c
+--- mutt-1.5.19.orig/curs_main.c       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/curs_main.c    2009-01-06 19:16:04.000000000 +0200
+@@ -1108,6 +1108,11 @@ int mutt_index_menu (void)
          {
          int check;
  
@@ -648,10 +596,10 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
          mutt_str_replace (&LastFolder, Context->path);
          oldcount = Context ? Context->msgcount : 0;
  
-diff -udprP mutt-1.5.16.orig/doc/Makefile.am mutt-1.5.16/doc/Makefile.am
---- mutt-1.5.16.orig/doc/Makefile.am   2007-04-13 19:43:45.000000000 +0300
-+++ mutt-1.5.16/doc/Makefile.am        2007-06-12 14:22:35.000000000 +0300
-@@ -27,7 +27,8 @@ EXTRA_DIST = dotlock.man             \
+diff -udprP mutt-1.5.19.orig/doc/Makefile.am mutt-1.5.19/doc/Makefile.am
+--- mutt-1.5.19.orig/doc/Makefile.am   2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/doc/Makefile.am        2009-01-06 19:16:04.000000000 +0200
+@@ -31,7 +31,8 @@ EXTRA_DIST = dotlock.man             \
  
  HTML_DOCFILES = manual.html index.html intro.html gettingstarted.html \
        configuration.html mimesupport.html advancedusage.html \
@@ -661,10 +609,10 @@ diff -udprP mutt-1.5.16.orig/doc/Makefile.am mutt-1.5.16/doc/Makefile.am
  
  BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES)
  
-diff -udprP mutt-1.5.16.orig/doc/Makefile.in mutt-1.5.16/doc/Makefile.in
---- mutt-1.5.16.orig/doc/Makefile.in   2007-06-10 05:43:25.000000000 +0300
-+++ mutt-1.5.16/doc/Makefile.in        2007-06-12 14:22:35.000000000 +0300
-@@ -223,7 +223,8 @@
+diff -udprP mutt-1.5.19.orig/doc/Makefile.in mutt-1.5.19/doc/Makefile.in
+--- mutt-1.5.19.orig/doc/Makefile.in   2009-01-05 21:24:14.000000000 +0200
++++ mutt-1.5.19/doc/Makefile.in        2009-01-06 19:16:04.000000000 +0200
+@@ -234,7 +234,8 @@ EXTRA_DIST = dotlock.man           \
  
  HTML_DOCFILES = manual.html index.html intro.html gettingstarted.html \
        configuration.html mimesupport.html advancedusage.html \
@@ -674,10 +622,10 @@ diff -udprP mutt-1.5.16.orig/doc/Makefile.in mutt-1.5.16/doc/Makefile.in
  
  BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES)
  srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt  \
-diff -udprP mutt-1.5.16.orig/doc/manual.xml.head mutt-1.5.16/doc/manual.xml.head
---- mutt-1.5.16.orig/doc/manual.xml.head       2007-04-04 08:37:13.000000000 +0300
-+++ mutt-1.5.16/doc/manual.xml.head    2007-06-12 14:22:35.000000000 +0300
-@@ -4083,6 +4083,24 @@ configuration option/command.  See
+diff -udprP mutt-1.5.19.orig/doc/manual.xml.head mutt-1.5.19/doc/manual.xml.head
+--- mutt-1.5.19.orig/doc/manual.xml.head       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/doc/manual.xml.head    2009-01-06 19:35:41.000000000 +0200
+@@ -4639,6 +4639,24 @@ configuration option/command.  See
  <link linkend="fcc-save-hook">fcc-save-hook</link>
  </para>
  </listitem>
@@ -702,7 +650,7 @@ diff -udprP mutt-1.5.16.orig/doc/manual.xml.head mutt-1.5.16/doc/manual.xml.head
  
  </itemizedlist>
  
-@@ -4910,6 +4928,254 @@ becomes an issue as mutt will silently f
+@@ -5138,6 +5156,254 @@ macro pager \cb |urlview\n
  
  </chapter>
  
@@ -957,48 +905,81 @@ diff -udprP mutt-1.5.16.orig/doc/manual.xml.head mutt-1.5.16/doc/manual.xml.head
  <chapter id="mimesupport">
  <title>Mutt's MIME Support</title>
  
-@@ -6056,6 +6322,12 @@ The following are the commands understoo
- <listitem>
+@@ -6942,6 +7208,18 @@ The following are the commands understoo
  
- <para>
-+<literal><link linkend="append-hook">append-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-+</para>
+ <listitem>
+ <cmdsynopsis>
++<command><link linkend="append-hook">append-hook</link></command>
++<arg choice="plain">
++<replaceable class="parameter">pattern</replaceable>
++</arg>
++<arg choice="plain">
++<replaceable class="parameter">command</replaceable>
++</arg>
++</cmdsynopsis>
 +</listitem>
-+<listitem>
 +
-+<para>
- <literal><link linkend="auto-view">auto&lowbar;view</link></literal> <emphasis>mimetype</emphasis> &lsqb; <emphasis>mimetype</emphasis> ... &rsqb;
- </para>
- </listitem>
-@@ -6086,6 +6358,12 @@ The following are the commands understoo
- <listitem>
++<listitem>
++<cmdsynopsis>
+ <command><link linkend="auto-view">auto-view</link></command>
+ <arg choice="plain">
+ <replaceable>mimetype</replaceable>
+@@ -7007,6 +7285,18 @@ The following are the commands understoo
  
- <para>
-+<literal><link linkend="close-hook">close-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-+</para>
+ <listitem>
+ <cmdsynopsis>
++<command><link linkend="close-hook">close-hook</link></command>
++<arg choice="plain">
++<replaceable class="parameter">pattern</replaceable>
++</arg>
++<arg choice="plain">
++<replaceable class="parameter">command</replaceable>
++</arg>
++</cmdsynopsis>
 +</listitem>
-+<listitem>
 +
-+<para>
- <literal><link linkend="color">color</link></literal> <emphasis>object</emphasis> <emphasis>foreground</emphasis> <emphasis>background</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
- </para>
- </listitem>
-@@ -6218,6 +6496,12 @@ The following are the commands understoo
- <listitem>
++<listitem>
++<cmdsynopsis>
+ <command><link linkend="color">color</link></command>
+ <arg choice="plain">
+ <replaceable class="parameter">object</replaceable>
+@@ -7421,6 +7711,18 @@ The following are the commands understoo
  
- <para>
-+<literal><link linkend="open-hook">open-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>command</emphasis>
-+</para>
+ <listitem>
+ <cmdsynopsis>
++<command><link linkend="open-hook">open-hook</link></command>
++<arg choice="plain">
++<replaceable class="parameter">pattern</replaceable>
++</arg>
++<arg choice="plain">
++<replaceable class="parameter">command</replaceable>
++</arg>
++</cmdsynopsis>
 +</listitem>
++
 +<listitem>
++<cmdsynopsis>
+ <command><link linkend="crypt-hook">crypt-hook</link></command>
+ <arg choice="plain">
+ <replaceable class="parameter">pattern</replaceable>
+diff -udprP mutt-1.5.19.orig/doc/Muttrc.head mutt-1.5.19/doc/Muttrc.head
+--- mutt-1.5.19.orig/doc/Muttrc.head   2008-06-14 03:08:43.000000000 +0300
++++ mutt-1.5.19/doc/Muttrc.head        2009-01-06 19:16:04.000000000 +0200
+@@ -29,6 +29,11 @@ macro generic,pager <F1> "<shell-escape>
+ macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
+ bind browser y exit
++# Use folders which match on \\.gz$ as gzipped folders:
++# open-hook \\.gz$ "gzip -cd %f > %t"
++# close-hook \\.gz$ "gzip -c %t > %f"
++# append-hook \\.gz$ "gzip -c %t >> %f"
 +
-+<para>
- <literal><link linkend="crypt-hook">crypt-hook</link></literal> <emphasis>pattern</emphasis> <emphasis>key-id</emphasis>
- </para>
- </listitem>
-diff -udprP mutt-1.5.16.orig/doc/muttrc.man.head mutt-1.5.16/doc/muttrc.man.head
---- mutt-1.5.16.orig/doc/muttrc.man.head       2007-04-02 00:58:55.000000000 +0300
-+++ mutt-1.5.16/doc/muttrc.man.head    2007-06-12 14:22:35.000000000 +0300
+ # If Mutt is unable to determine your site's domain name correctly, you can
+ # set the default here.
+ #
+diff -udprP mutt-1.5.19.orig/doc/muttrc.man.head mutt-1.5.19/doc/muttrc.man.head
+--- mutt-1.5.19.orig/doc/muttrc.man.head       2008-11-26 20:48:48.000000000 +0200
++++ mutt-1.5.19/doc/muttrc.man.head    2009-01-06 19:16:04.000000000 +0200
 @@ -345,6 +345,24 @@ specify the ID of the public key to be u
  to a certain recipient.  The meaning of "key ID" is to be taken
  broadly: This can be a different e-mail address, a numerical key ID,
@@ -1024,9 +1005,9 @@ diff -udprP mutt-1.5.16.orig/doc/muttrc.man.head mutt-1.5.16/doc/muttrc.man.head
  .TP
  \fBpush\fP \fIstring\fP
  This command adds the named \fIstring\fP to the keyboard buffer.
-diff -udprP mutt-1.5.16.orig/hook.c mutt-1.5.16/hook.c
---- mutt-1.5.16.orig/hook.c    2007-04-08 02:36:55.000000000 +0300
-+++ mutt-1.5.16/hook.c 2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/hook.c mutt-1.5.19/hook.c
+--- mutt-1.5.19.orig/hook.c    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/hook.c 2009-01-06 19:16:04.000000000 +0200
 @@ -24,6 +24,10 @@
  #include "mailbox.h"
  #include "mutt_crypt.h"
@@ -1055,10 +1036,10 @@ diff -udprP mutt-1.5.16.orig/hook.c mutt-1.5.16/hook.c
    else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ICONVHOOK | M_ACCOUNTHOOK))
             && (!WithCrypto || !(data & M_CRYPTHOOK))
        )
-diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
---- mutt-1.5.16.orig/init.h    2007-06-10 05:29:21.000000000 +0300
-+++ mutt-1.5.16/init.h 2007-06-12 14:22:35.000000000 +0300
-@@ -3129,6 +3129,11 @@ struct command_t Commands[] = {
+diff -udprP mutt-1.5.19.orig/init.h mutt-1.5.19/init.h
+--- mutt-1.5.19.orig/init.h    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/init.h 2009-01-06 19:16:04.000000000 +0200
+@@ -3398,6 +3398,11 @@ struct command_t Commands[] = {
    { "fcc-hook",               mutt_parse_hook,        M_FCCHOOK },
    { "fcc-save-hook",  mutt_parse_hook,        M_FCCHOOK | M_SAVEHOOK },
    { "folder-hook",    mutt_parse_hook,        M_FOLDERHOOK },
@@ -1070,10 +1051,10 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "group",          parse_group,            0 },
    { "ungroup",                parse_ungroup,          0 },
    { "hdr_order",      parse_list,             UL &HeaderOrderList },
-diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
---- mutt-1.5.16.orig/main.c    2007-04-10 23:53:08.000000000 +0300
-+++ mutt-1.5.16/main.c 2007-06-12 14:22:35.000000000 +0300
-@@ -310,6 +310,12 @@ static void show_version (void)
+diff -udprP mutt-1.5.19.orig/main.c mutt-1.5.19/main.c
+--- mutt-1.5.19.orig/main.c    2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/main.c 2009-01-06 19:16:04.000000000 +0200
+@@ -311,6 +311,12 @@ static void show_version (void)
        "-USE_GNU_REGEX  "
  #endif
  
@@ -1086,9 +1067,42 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
        "\n"
        
  #ifdef HAVE_COLOR
-diff -udprP mutt-1.5.16.orig/mbox.c mutt-1.5.16/mbox.c
---- mutt-1.5.16.orig/mbox.c    2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/mbox.c 2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/Makefile.am mutt-1.5.19/Makefile.am
+--- mutt-1.5.19.orig/Makefile.am       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/Makefile.am    2009-01-06 19:16:04.000000000 +0200
+@@ -18,6 +18,7 @@ BUILT_SOURCES = keymap_defs.h patchlist.
+ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
+ mutt_SOURCES = \
+       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
++      compress.c \
+       crypt.c cryptglue.c \
+       commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
+       edit.c enter.c flags.c init.c filter.c from.c \
+@@ -58,6 +59,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c 
+ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
+       configure account.h \
++      compress.h \
+       attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \
+       globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
+       mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
+diff -udprP mutt-1.5.19.orig/Makefile.in mutt-1.5.19/Makefile.in
+--- mutt-1.5.19.orig/Makefile.in       2009-01-05 21:24:13.000000000 +0200
++++ mutt-1.5.19/Makefile.in    2009-01-06 19:16:04.000000000 +0200
+@@ -14,6 +14,10 @@
+ @SET_MAKE@
++mutt_SOURCES += compress.c
++EXTRA_DIST += compress.h
++mutt_OBJECTS += compress.o
++
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+diff -udprP mutt-1.5.19.orig/mbox.c mutt-1.5.19/mbox.c
+--- mutt-1.5.19.orig/mbox.c    2008-08-15 21:30:12.000000000 +0300
++++ mutt-1.5.19/mbox.c 2009-01-06 19:16:04.000000000 +0200
 @@ -29,6 +29,10 @@
  #include "copy.h"
  #include "mutt_curses.h"
@@ -1100,7 +1114,7 @@ diff -udprP mutt-1.5.16.orig/mbox.c mutt-1.5.16/mbox.c
  #include <sys/stat.h>
  #include <dirent.h>
  #include <string.h>
-@@ -1026,6 +1030,12 @@ bail:  /* Come here in case of disaster 
+@@ -1038,6 +1042,12 @@ bail:  /* Come here in case of disaster 
  int mbox_close_mailbox (CONTEXT *ctx)
  {
    mx_unlock_file (ctx->path, fileno (ctx->fp), 1);
@@ -1113,10 +1127,10 @@ diff -udprP mutt-1.5.16.orig/mbox.c mutt-1.5.16/mbox.c
    mutt_unblock_signals ();
    mx_fastclose_mailbox (ctx);
    return 0;
-diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
---- mutt-1.5.16.orig/mutt.h    2007-04-11 06:14:01.000000000 +0300
-+++ mutt-1.5.16/mutt.h 2007-06-12 14:22:35.000000000 +0300
-@@ -160,6 +160,11 @@ typedef enum
+diff -udprP mutt-1.5.19.orig/mutt.h mutt-1.5.19/mutt.h
+--- mutt-1.5.19.orig/mutt.h    2008-09-26 01:00:03.000000000 +0300
++++ mutt-1.5.19/mutt.h 2009-01-06 19:16:04.000000000 +0200
+@@ -140,6 +140,11 @@ typedef enum
  #define M_ACCOUNTHOOK (1<<9)
  #define M_REPLYHOOK   (1<<10)
  #define M_SEND2HOOK     (1<<11)
@@ -1128,7 +1142,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
  
  /* tree characters for linearize_tree and print_enriched_string */
  #define M_TREE_LLCORNER               1
-@@ -889,6 +894,11 @@ typedef struct _context
+@@ -869,6 +874,11 @@ typedef struct _context
  
    unsigned char rights[(RIGHTSMAX + 7)/8];    /* ACL bits */
  
@@ -1140,9 +1154,9 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    unsigned int locked : 1;    /* is the mailbox locked? */
    unsigned int changed : 1;   /* mailbox has been modified */
    unsigned int readonly : 1;    /* don't allow changes to the mailbox */
-diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
---- mutt-1.5.16.orig/mx.c      2007-04-03 20:41:14.000000000 +0300
-+++ mutt-1.5.16/mx.c   2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/mx.c mutt-1.5.19/mx.c
+--- mutt-1.5.19.orig/mx.c      2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/mx.c   2009-01-06 19:16:04.000000000 +0200
 @@ -30,6 +30,10 @@
  #include "keymap.h"
  #include "url.h"
@@ -1154,7 +1168,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
  #ifdef USE_IMAP
  #include "imap.h"
  #endif
-@@ -450,6 +454,11 @@ int mx_get_magic (const char *path)
+@@ -445,6 +449,11 @@ int mx_get_magic (const char *path)
      return (-1);
    }
  
@@ -1166,7 +1180,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    return (magic);
  }
  
-@@ -489,6 +498,13 @@ static int mx_open_mailbox_append (CONTE
+@@ -484,6 +493,13 @@ static int mx_open_mailbox_append (CONTE
  {
    struct stat sb;
  
@@ -1180,7 +1194,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    ctx->append = 1;
  
  #ifdef USE_IMAP
-@@ -653,6 +669,11 @@ CONTEXT *mx_open_mailbox (const char *pa
+@@ -648,6 +664,11 @@ CONTEXT *mx_open_mailbox (const char *pa
  
    ctx->magic = mx_get_magic (path);
    
@@ -1192,7 +1206,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    if(ctx->magic == 0)
      mutt_error (_("%s is not a mailbox."), path);
  
-@@ -753,6 +774,10 @@ void mx_fastclose_mailbox (CONTEXT *ctx)
+@@ -748,6 +769,10 @@ void mx_fastclose_mailbox (CONTEXT *ctx)
      mutt_free_header (&ctx->hdrs[i]);
    FREE (&ctx->hdrs);
    FREE (&ctx->v2r);
@@ -1203,7 +1217,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    FREE (&ctx->path);
    FREE (&ctx->pattern);
    if (ctx->limit_pattern) 
-@@ -805,6 +830,12 @@ static int sync_mailbox (CONTEXT *ctx, i
+@@ -800,6 +825,12 @@ static int sync_mailbox (CONTEXT *ctx, i
    
    if (tmp && tmp->new == 0)
      mutt_update_mailbox (tmp);
@@ -1216,7 +1230,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    return rc;
  }
  
-@@ -1006,6 +1037,11 @@ int mx_close_mailbox (CONTEXT *ctx, int 
+@@ -1001,6 +1032,11 @@ int mx_close_mailbox (CONTEXT *ctx, int 
        !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY))
      mx_unlink_empty (ctx->path);
  
@@ -1228,7 +1242,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    mx_fastclose_mailbox (ctx);
  
    return 0;
-@@ -1315,6 +1351,11 @@ int mx_check_mailbox (CONTEXT *ctx, int 
+@@ -1310,6 +1346,11 @@ int mx_check_mailbox (CONTEXT *ctx, int 
  {
    int rc;
  
@@ -1240,9 +1254,9 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    if (ctx)
    {
      if (ctx->locked) lock = 0;
-diff -udprP mutt-1.5.16.orig/mx.h mutt-1.5.16/mx.h
---- mutt-1.5.16.orig/mx.h      2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/mx.h   2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/mx.h mutt-1.5.19/mx.h
+--- mutt-1.5.19.orig/mx.h      2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/mx.h   2009-01-06 19:16:04.000000000 +0200
 @@ -40,6 +40,9 @@ enum
  #ifdef USE_POP
    , M_POP
@@ -1253,9 +1267,14 @@ diff -udprP mutt-1.5.16.orig/mx.h mutt-1.5.16/mx.h
  };
  
  WHERE short DefaultMagic INITVAL (M_MBOX);
-diff -udprP mutt-1.5.16.orig/po/POTFILES.in mutt-1.5.16/po/POTFILES.in
---- mutt-1.5.16.orig/po/POTFILES.in    2007-04-02 00:58:57.000000000 +0300
-+++ mutt-1.5.16/po/POTFILES.in 2007-06-12 14:22:35.000000000 +0300
+diff -udprP mutt-1.5.19.orig/PATCHES mutt-1.5.19/PATCHES
+--- mutt-1.5.19.orig/PATCHES   2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/PATCHES        2009-01-06 19:16:04.000000000 +0200
+@@ -0,0 +1 @@
++rr.compressed
+diff -udprP mutt-1.5.19.orig/po/POTFILES.in mutt-1.5.19/po/POTFILES.in
+--- mutt-1.5.19.orig/po/POTFILES.in    2008-03-19 22:07:57.000000000 +0200
++++ mutt-1.5.19/po/POTFILES.in 2009-01-06 19:16:04.000000000 +0200
 @@ -8,6 +8,7 @@ charset.c
  color.c
  commands.c
@@ -1264,10 +1283,10 @@ diff -udprP mutt-1.5.16.orig/po/POTFILES.in mutt-1.5.16/po/POTFILES.in
  crypt-gpgme.c
  crypt.c
  cryptglue.c
-diff -udprP mutt-1.5.16.orig/status.c mutt-1.5.16/status.c
---- mutt-1.5.16.orig/status.c  2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/status.c       2007-06-12 14:22:35.000000000 +0300
-@@ -99,6 +99,14 @@ status_format_str (char *buf, size_t buf
+diff -udprP mutt-1.5.19.orig/status.c mutt-1.5.19/status.c
+--- mutt-1.5.19.orig/status.c  2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/status.c       2009-01-06 19:16:04.000000000 +0200
+@@ -96,6 +96,14 @@ status_format_str (char *buf, size_t buf
  
      case 'f':
        snprintf (fmt, sizeof(fmt), "%%%ss", prefix);
@@ -1275,7 +1294,7 @@ diff -udprP mutt-1.5.16.orig/status.c mutt-1.5.16/status.c
 +      if (Context && Context->compressinfo && Context->realpath)
 +      {
 +       strfcpy (tmp, Context->realpath, sizeof (tmp));
-+       mutt_pretty_mailbox (tmp);
++       mutt_pretty_mailbox (tmp, sizeof (tmp));
 +      }
 +      else
 +#endif
index 45a8911508ee0c2a89e40ec7666d9705b4a8a47a..cb4f2e59c665895500e946122cfd97f4eab9446d 100644 (file)
@@ -9,10 +9,23 @@ autoconf
 Vsevolod Volkov <vvv@mutt.org.ua>
 
 
-diff -udprP mutt-1.5.16.orig/ChangeLog.nntp mutt-1.5.16/ChangeLog.nntp
---- mutt-1.5.16.orig/ChangeLog.nntp    1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/ChangeLog.nntp 2007-06-15 17:14:18.000000000 +0300
-@@ -0,0 +1,350 @@
+diff -udprP mutt-1.5.19.orig/ChangeLog.nntp mutt-1.5.19/ChangeLog.nntp
+--- mutt-1.5.19.orig/ChangeLog.nntp    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/ChangeLog.nntp 2009-01-06 22:27:38.000000000 +0200
+@@ -0,0 +1,363 @@
++* Tue Jan  6 2009 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.19
++
++* Mon May 19 2008 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.18
++- fixed SIGSEGV when followup or forward to newsgroup
++
++* Sun Nov  4 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.17
++
++* Tue Jul  3 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed arguments of nntp_format_str()
++
 +* Fri Jun 15 2007 Vsevolod Volkov <vvv@mutt.org.ua>
 +- fixed error selecting news group
 +
@@ -363,588 +376,182 @@ diff -udprP mutt-1.5.16.orig/ChangeLog.nntp mutt-1.5.16/ChangeLog.nntp
 +
 +* Fri Jan 28 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
 +- update to 1.1.2
-diff -udprP mutt-1.5.16.orig/Makefile.am mutt-1.5.16/Makefile.am
---- mutt-1.5.16.orig/Makefile.am       2007-06-04 07:20:01.000000000 +0300
-+++ mutt-1.5.16/Makefile.am    2007-06-15 17:12:26.000000000 +0300
-@@ -62,6 +62,7 @@ EXTRA_mutt_SOURCES = account.c md5c.c mu
-       smtp.c browser.h mbyte.h remailer.h url.h \
-       crypt-mod-pgp-classic.c crypt-mod-smime-classic.c \
-       pgppacket.c mutt_idna.h hcache.h hcache.c bcache.c bcache.h mutt_ssl_gnutls.c \
-+      nntp.c newsrc.c \
-       crypt-gpgme.c crypt-mod-pgp-gpgme.c crypt-mod-smime-gpgme.c \
-       utf8.c wcwidth.c 
+diff -udprP mutt-1.5.19.orig/OPS mutt-1.5.19/OPS
+--- mutt-1.5.19.orig/OPS       2008-03-19 22:07:57.000000000 +0200
++++ mutt-1.5.19/OPS    2009-01-06 22:27:38.000000000 +0200
+@@ -8,14 +8,16 @@ OP_BOUNCE_MESSAGE "remail a message to a
+ OP_BROWSER_NEW_FILE "select a new file in this directory"
+ OP_BROWSER_VIEW_FILE "view file"
+ OP_BROWSER_TELL "display the currently selected file's name"
+-OP_BROWSER_SUBSCRIBE "subscribe to current mailbox (IMAP only)"
+-OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mailbox (IMAP only)"
++OP_BROWSER_SUBSCRIBE "subscribe to current mbox (IMAP/NNTP only)"
++OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mbox (IMAP/NNTP only)"
+ OP_BROWSER_TOGGLE_LSUB "toggle view all/subscribed mailboxes (IMAP only)"
+ OP_BUFFY_LIST "list mailboxes with new mail"
++OP_CATCHUP "mark all articles in newsgroup as read"
+ OP_CHANGE_DIRECTORY "change directories"
+ OP_CHECK_NEW "check mailboxes for new mail"
+ OP_COMPOSE_ATTACH_FILE "attach file(s) to this message"
+ OP_COMPOSE_ATTACH_MESSAGE "attach message(s) to this message"
++OP_COMPOSE_ATTACH_NEWS_MESSAGE "attach newsmessage(s) to this message"
+ OP_COMPOSE_EDIT_BCC "edit the BCC list"
+ OP_COMPOSE_EDIT_CC "edit the CC list"
+ OP_COMPOSE_EDIT_DESCRIPTION "edit attachment description"
+@@ -26,7 +28,10 @@ OP_COMPOSE_EDIT_FROM "edit the from fiel
+ OP_COMPOSE_EDIT_HEADERS "edit the message with headers"
+ OP_COMPOSE_EDIT_MESSAGE "edit the message"
+ OP_COMPOSE_EDIT_MIME "edit attachment using mailcap entry"
++OP_COMPOSE_EDIT_NEWSGROUPS "edit the newsgroups list"
+ OP_COMPOSE_EDIT_REPLY_TO "edit the Reply-To field"
++OP_COMPOSE_EDIT_FOLLOWUP_TO "edit the Followup-To field"
++OP_COMPOSE_EDIT_X_COMMENT_TO "edit the X-Comment-To field"
+ OP_COMPOSE_EDIT_SUBJECT "edit the subject of this message"
+ OP_COMPOSE_EDIT_TO "edit the TO list"
+ OP_CREATE_MAILBOX "create a new mailbox (IMAP only)"
+@@ -85,8 +90,13 @@ OP_EXIT "exit this menu"
+ OP_FILTER "filter attachment through a shell command"
+ OP_FIRST_ENTRY "move to the first entry"
+ OP_FLAG_MESSAGE "toggle a message's 'important' flag"
++OP_FOLLOWUP "followup to newsgroup"
++OP_FORWARD_TO_GROUP "forward to newsgroup"
+ OP_FORWARD_MESSAGE "forward a message with comments"
+ OP_GENERIC_SELECT_ENTRY "select the current entry"
++OP_GET_CHILDREN "get all children of the current message"
++OP_GET_MESSAGE "get message with Message-Id"
++OP_GET_PARENT "get parent of the current message"
+ OP_GROUP_REPLY "reply to all recipients"
+ OP_HALF_DOWN "scroll down 1/2 page"
+ OP_HALF_UP "scroll up 1/2 page"
+@@ -94,11 +104,14 @@ OP_HELP "this screen"
+ OP_JUMP "jump to an index number"
+ OP_LAST_ENTRY "move to the last entry"
+ OP_LIST_REPLY "reply to specified mailing list"
++OP_LOAD_ACTIVE "load active file from NNTP server"
+ OP_MACRO "execute a macro"
+ OP_MAIL "compose a new mail message"
+ OP_MAIN_BREAK_THREAD "break the thread in two"
+ OP_MAIN_CHANGE_FOLDER "open a different folder"
+ OP_MAIN_CHANGE_FOLDER_READONLY "open a different folder in read only mode"
++OP_MAIN_CHANGE_GROUP "open a different newsgroup"
++OP_MAIN_CHANGE_GROUP_READONLY "open a different newsgroup in read only mode"
+ OP_MAIN_CLEAR_FLAG "clear a status flag from a message"
+ OP_MAIN_DELETE_PATTERN "delete messages matching a pattern"
+ OP_MAIN_IMAP_FETCH "force retrieval of mail from IMAP server"
+@@ -137,6 +150,7 @@ OP_PAGER_HIDE_QUOTED "toggle display of 
+ OP_PAGER_SKIP_QUOTED "skip beyond quoted text"
+ OP_PAGER_TOP "jump to the top of the message"
+ OP_PIPE "pipe message/attachment to a shell command"
++OP_POST "post message to newsgroup"
+ OP_PREV_ENTRY "move to the previous entry"
+ OP_PREV_LINE "scroll up one line"
+ OP_PREV_PAGE "move to the previous page"
+@@ -145,6 +159,7 @@ OP_QUERY "query external program for add
+ OP_QUERY_APPEND "append new query results to current results"
+ OP_QUIT "save changes to mailbox and quit"
+ OP_RECALL_MESSAGE "recall a postponed message"
++OP_RECONSTRUCT_THREAD "reconstruct thread containing current message"
+ OP_REDRAW "clear and redraw the screen"
+ OP_REFORMAT_WINCH "{internal}"
+ OP_RENAME_MAILBOX "rename the current mailbox (IMAP only)"
+@@ -159,18 +174,22 @@ OP_SEARCH_TOGGLE "toggle search pattern 
+ OP_SHELL_ESCAPE "invoke a command in a subshell"
+ OP_SORT "sort messages"
+ OP_SORT_REVERSE "sort messages in reverse order"
++OP_SUBSCRIBE_PATTERN "subscribe to newsgroups matching a pattern"
+ OP_TAG "tag the current entry"
+ OP_TAG_PREFIX "apply next function to tagged messages"
+ OP_TAG_PREFIX_COND "apply next function ONLY to tagged messages"
+ OP_TAG_SUBTHREAD "tag the current subthread"
+ OP_TAG_THREAD "tag the current thread"
+ OP_TOGGLE_NEW "toggle a message's 'new' flag"
++OP_TOGGLE_READ "toggle view of read messages"
+ OP_TOGGLE_WRITE "toggle whether the mailbox will be rewritten"
+ OP_TOGGLE_MAILBOXES "toggle whether to browse mailboxes or all files"
+ OP_TOP_PAGE "move to the top of the page"
++OP_UNCATCHUP "mark all articles in newsgroup as unread"
+ OP_UNDELETE "undelete the current entry"
+ OP_UNDELETE_THREAD "undelete all messages in thread"
+ OP_UNDELETE_SUBTHREAD "undelete all messages in subthread"
++OP_UNSUBSCRIBE_PATTERN "unsubscribe from newsgroups matching a pattern"
+ OP_VERSION "show the Mutt version number and date"
+ OP_VIEW_ATTACH "view attachment using mailcap entry if necessary"
+ OP_VIEW_ATTACHMENTS "show MIME attachments"
+diff -udprP mutt-1.5.19.orig/PATCHES mutt-1.5.19/PATCHES
+--- mutt-1.5.19.orig/PATCHES   2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/PATCHES        2009-01-06 22:27:38.000000000 +0200
+@@ -0,0 +1 @@
++vvv.nntp
+diff -udprP mutt-1.5.19.orig/account.c mutt-1.5.19/account.c
+--- mutt-1.5.19.orig/account.c 2008-10-30 02:30:17.000000000 +0200
++++ mutt-1.5.19/account.c      2009-01-06 22:27:38.000000000 +0200
+@@ -51,6 +51,11 @@ int mutt_account_match (const ACCOUNT* a
+     user = PopUser;
+ #endif
+   
++#ifdef USE_NNTP
++  if (a1->type == M_ACCT_TYPE_NNTP && NntpUser)
++    user = NntpUser;
++#endif
++
+   if (a1->flags & a2->flags & M_ACCT_USER)
+     return (!strcmp (a1->user, a2->user));
+   if (a1->flags & M_ACCT_USER)
+@@ -130,6 +135,16 @@ void mutt_account_tourl (ACCOUNT* accoun
+   }
+ #endif
  
-@@ -73,6 +74,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
-       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
-       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
-       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
-+      nntp.h ChangeLog.nntp \
-       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
-       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h Muttrc.head Muttrc \
-       makedoc.c makedoc-defs.h stamp-doc-rc README.SSL smime.h \
-diff -udprP mutt-1.5.16.orig/Makefile.in mutt-1.5.16/Makefile.in
---- mutt-1.5.16.orig/Makefile.in       2007-06-10 05:43:26.000000000 +0300
-+++ mutt-1.5.16/Makefile.in    2007-06-15 17:12:26.000000000 +0300
-@@ -331,6 +331,7 @@ EXTRA_mutt_SOURCES = account.c md5c.c mu
-       smtp.c browser.h mbyte.h remailer.h url.h \
-       crypt-mod-pgp-classic.c crypt-mod-smime-classic.c \
-       pgppacket.c mutt_idna.h hcache.h hcache.c bcache.c bcache.h mutt_ssl_gnutls.c \
-+      nntp.c newsrc.c \
-       crypt-gpgme.c crypt-mod-pgp-gpgme.c crypt-mod-smime-gpgme.c \
-       utf8.c wcwidth.c 
-@@ -342,6 +343,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
-       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
-       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
-       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
-+      nntp.h ChangeLog.nntp \
-       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
-       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h Muttrc.head Muttrc \
-       makedoc.c makedoc-defs.h stamp-doc-rc README.SSL smime.h \
-@@ -557,6 +559,8 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_tunnel.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/muttlib.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mx.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newsrc.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nntp.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pager.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patchlist.Po@am__quote@
---- mutt-1.5.18.orig/doc/Muttrc        2007-06-10 06:29:25.000000000 +0300
-+++ mutt-1.5.18/doc/Muttrc     2007-06-15 17:12:26.000000000 +0300
-@@ -266,6 +266,28 @@ attachments   -I message/external-body
- # if included.
- # 
- # 
-+# set ask_follow_up=no
-+#
-+# Name: ask_follow_up
-+# Type: boolean
-+# Default: no
-+# 
-+# 
-+# If set, Mutt will prompt you for follow-up groups before editing
-+# the body of an outgoing message.
-+# 
-+# 
-+# set ask_x_comment_to=no
-+#
-+# Name: ask_x_comment_to
-+# Type: boolean
-+# Default: no
-+# 
-+# 
-+# If set, Mutt will prompt you for x-comment-to field before editing
-+# the body of an outgoing message.
-+# 
-+# 
- # set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
- #
- # Name: attach_format
-@@ -433,6 +455,17 @@ attachments   -I message/external-body
- # access time when checking for new mail.
- # 
- # 
-+# set catchup_newsgroup=ask-yes
-+#
-+# Name: catchup_newsgroup
-+# Type: quadoption
-+# Default: ask-yes
-+# 
-+# 
-+# If this variable is set, Mutt will mark all articles in newsgroup
-+# as read when you quit the newsgroup (catchup newsgroup).
-+# 
-+# 
- # set charset=""
- #
- # Name: charset
-@@ -930,6 +963,19 @@ attachments   -I message/external-body
- # of the same email for you.
- # 
- # 
-+# set followup_to_poster=ask-yes
-+#
-+# Name: followup_to_poster
-+# Type: quadoption
-+# Default: ask-yes
-+# 
-+# 
-+# If this variable is set and the keyword "poster" is present in
-+# Followup-To header, follow-up to newsgroup function is not
-+# permitted.  The message will be mailed to the submitter of the
-+# message via mail.
-+# 
-+# 
- # set force_name=no
- #
- # Name: force_name
-@@ -1027,6 +1073,28 @@ attachments   -I message/external-body
- # "Franklin" to "Franklin, Steve".
- # 
- # 
-+# set group_index_format="%4C %M%N %5s  %-45.45f %d"
-+#
-+# Name: group_index_format
-+# Type: string
-+# Default: "%4C %M%N %5s  %-45.45f %d"
-+# 
-+# 
-+# This variable allows you to customize the newsgroup browser display to
-+# your personal taste.  This string is similar to ``index_format'', but
-+# has its own set of printf()-like sequences:
-+# 
-+# %C      current newsgroup number
-+# %d      description of newsgroup (becomes from server)
-+# %f      newsgroup name
-+# %M      - if newsgroup not allowed for direct post (moderated for example)
-+# %N      N if newsgroup is new, u if unsubscribed, blank otherwise
-+# %n      number of new articles in newsgroup
-+# %s      number of unread articles in newsgroup
-+# %>X     right justify the rest of the string and pad with character "X"
-+# %|X     pad to the end of the line with character "X"
-+# 
-+# 
- # set hdrs=yes
- #
- # Name: hdrs
-@@ -1472,6 +1540,7 @@ attachments   -I message/external-body
- # %E      number of messages in current thread
- # %f      entire From: line (address + real name)
- # %F      author name, or recipient name if the message is from you
-+# %g      newsgroup name (if compiled with nntp support)
- # %H      spam attribute(s) of this message
- # %i      message-id of the current message
- # %l      number of lines in the message (does not work with maildir,
-@@ -1486,12 +1555,14 @@ attachments   -I message/external-body
- # %O      (_O_riginal save folder)  Where mutt would formerly have
- #         stashed the message: list name or recipient name if no list
- # %P      progress indicator for the builtin pager (how much of the file has been displayed)
-+# %R      `x-comment-to:' field (if present and compiled with nntp support)
- # %s      subject of the message
- # %S      status of the message (N/D/d/!/r/*)
- # %t      `to:' field (recipients)
- # %T      the appropriate character from the $to_chars string
- # %u      user (login) name of the author
- # %v      first name of the author, or the recipient if the message is from you
-+# %W      name of organization of author (`organization:' field)
- # %X      number of attachments
- #         (please see the ``attachments'' section for possible speed effects)
- # %y      `x-label:' field, if present
-@@ -1517,6 +1588,22 @@ attachments   -I message/external-body
- # See also: ``$to_chars''.
- # 
- # 
-+# set inews=""
-+#
-+# Name: inews
-+# Type: path
-+# Default: ""
-+# 
-+# 
-+# If set, specifies the program and arguments used to deliver news posted
-+# by Mutt.  Otherwise, mutt posts article using current connection to
-+# news server.  The following printf-style sequence is understood:
-+# 
-+# %s      newsserver name
-+# 
-+# Example: set inews="/usr/local/bin/inews -hS"
-+# 
-+# 
- # set ispell="ispell"
- #
- # Name: ispell
-@@ -1860,6 +1947,18 @@ attachments   -I message/external-body
- # be attached to the newly composed message if this option is set.
- # 
- # 
-+# set mime_subject=yes
-+#
-+# Name: mime_subject
-+# Type: boolean
-+# Default: yes
-+# 
-+# 
-+# If unset, 8-bit ``subject:'' line in article header will not be
-+# encoded according to RFC2047 to base64.  This is useful when message
-+# is Usenet article, because MIME for news is nonstandard feature.
-+# 
-+# 
- # set mix_entry_format="%4n %c %-16s %a"
- #
- # Name: mix_entry_format
-@@ -1964,6 +2063,118 @@ attachments   -I message/external-body
- # See also ``$read_inc'' and ``$write_inc''.
- # 
- # 
-+# set news_cache_dir="~/.mutt"
-+#
-+# Name: news_cache_dir
-+# Type: path
-+# Default: "~/.mutt"
-+# 
-+# 
-+# This variable pointing to directory where Mutt will save cached news
-+# articles headers in. If unset, headers will not be saved at all
-+# and will be reloaded each time when you enter to newsgroup.
-+# 
-+# 
-+# set news_server=""
-+#
-+# Name: news_server
-+# Type: string
-+# Default: ""
-+# 
-+# 
-+# This variable specifies domain name or address of NNTP server. It
-+# defaults to the newsserver specified in the environment variable
-+# $NNTPSERVER or contained in the file /etc/nntpserver.  You can also
-+# specify username and an alternative port for each newsserver, ie:
-+# 
-+# [news[s]://][username[:password]@]newsserver[:port]
-+# 
-+# 
-+# set newsrc="~/.newsrc"
-+#
-+# Name: newsrc
-+# Type: path
-+# Default: "~/.newsrc"
-+# 
-+# 
-+# The file, containing info about subscribed newsgroups - names and
-+# indexes of read articles.  The following printf-style sequence
-+# is understood:
-+# 
-+# %s      newsserver name
-+# 
-+# 
-+# set nntp_context=1000
-+#
-+# Name: nntp_context
-+# Type: number
-+# Default: 1000
-+# 
-+# 
-+# This variable defines number of articles which will be in index when
-+# newsgroup entered.  If active newsgroup have more articles than this
-+# number, oldest articles will be ignored.  Also controls how many
-+# articles headers will be saved in cache when you quit newsgroup.
-+# 
-+# 
-+# set nntp_load_description=yes
-+#
-+# Name: nntp_load_description
-+# Type: boolean
-+# Default: yes
-+# 
-+# 
-+# This variable controls whether or not descriptions for each newsgroup
-+# must be loaded when newsgroup is added to list (first time list
-+# loading or new newsgroup adding).
-+# 
-+# 
-+# set nntp_user=""
-+#
-+# Name: nntp_user
-+# Type: string
-+# Default: ""
-+# 
-+# 
-+# Your login name on the NNTP server.  If unset and NNTP server requires
-+# authentification, Mutt will prompt you for your account name when you
-+# connect to newsserver.
-+# 
-+# 
-+# set nntp_pass=""
-+#
-+# Name: nntp_pass
-+# Type: string
-+# Default: ""
-+# 
-+# 
-+# Your password for NNTP account.
-+# 
-+# 
-+# set nntp_poll=60
-+#
-+# Name: nntp_poll
-+# Type: number
-+# Default: 60
-+# 
-+# 
-+# The time in seconds until any operations on newsgroup except post new
-+# article will cause recheck for new news.  If set to 0, Mutt will
-+# recheck newsgroup on each operation in index (stepping, read article,
-+# etc.).
-+# 
-+# 
-+# set nntp_reconnect=ask-yes
-+#
-+# Name: nntp_reconnect
-+# Type: quadoption
-+# Default: ask-yes
-+# 
-+# 
-+# Controls whether or not Mutt will try to reconnect to newsserver when
-+# connection lost.
-+# 
-+# 
- # set pager="builtin"
- #
- # Name: pager
-@@ -3167,6 +3378,19 @@ attachments   -I message/external-body
- # string after the inclusion of a message which is being replied to.
- # 
- # 
-+# set post_moderated=ask-yes
-+#
-+# Name: post_moderated
-+# Type: quadoption
-+# Default: ask-yes
-+# 
-+# 
-+# If set to yes, Mutt will post article to newsgroup that have
-+# not permissions to posting (e.g. moderated).  Note: if newsserver
-+# does not support posting to that newsgroup or totally read-only, that
-+# posting will not have an effect.
-+# 
-+# 
- # set postpone=ask-yes
- #
- # Name: postpone
-@@ -3692,6 +3916,41 @@ attachments   -I message/external-body
- # shell from /etc/passwd is used.
- # 
- # 
-+# set save_unsubscribed=no
-+#
-+# Name: save_unsubscribed
-+# Type: boolean
-+# Default: no
-+# 
-+# 
-+# When set, info about unsubscribed newsgroups will be saved into
-+# ``newsrc'' file and into cache.
-+# 
-+# 
-+# set show_new_news=yes
-+#
-+# Name: show_new_news
-+# Type: boolean
-+# Default: yes
-+# 
-+# 
-+# If set, newsserver will be asked for new newsgroups on entering
-+# the browser.  Otherwise, it will be done only once for a newsserver.
-+# Also controls whether or not number of new articles of subscribed
-+# newsgroups will be then checked.
-+# 
-+# 
-+# set show_only_unread=no
-+#
-+# Name: show_only_unread
-+# Type: boolean
-+# Default: no
-+# 
-+# 
-+# If set, only subscribed newsgroups that contain unread articles
-+# will be displayed in browser.
-+# 
-+# 
- # set sig_dashes=yes
- #
- # Name: sig_dashes
-@@ -4405,3 +4664,14 @@ attachments   -I message/external-body
- # in this case.
- # 
- # 
-+# set x_comment_to=no
-+#
-+# Name: x_comment_to
-+# Type: boolean
-+# Default: no
-+# 
-+# 
-+# If set, Mutt will add ``X-Comment-To:'' field (that contains full
-+# name of original article author) to article that followuped to newsgroup.
-+# 
-+# 
-diff -udprP mutt-1.5.16.orig/OPS mutt-1.5.16/OPS
---- mutt-1.5.16.orig/OPS       2007-05-14 20:09:59.000000000 +0300
-+++ mutt-1.5.16/OPS    2007-06-15 17:12:26.000000000 +0300
-@@ -8,14 +8,16 @@ OP_BOUNCE_MESSAGE "remail a message to a
- OP_BROWSER_NEW_FILE "select a new file in this directory"
- OP_BROWSER_VIEW_FILE "view file"
- OP_BROWSER_TELL "display the currently selected file's name"
--OP_BROWSER_SUBSCRIBE "subscribe to current mailbox (IMAP only)"
--OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mailbox (IMAP only)"
-+OP_BROWSER_SUBSCRIBE "subscribe to current mbox (IMAP/NNTP only)"
-+OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mbox (IMAP/NNTP only)"
- OP_BROWSER_TOGGLE_LSUB "toggle view all/subscribed mailboxes (IMAP only)"
- OP_BUFFY_LIST "list mailboxes with new mail"
-+OP_CATCHUP "mark all articles in newsgroup as read"
- OP_CHANGE_DIRECTORY "change directories"
- OP_CHECK_NEW "check mailboxes for new mail"
- OP_COMPOSE_ATTACH_FILE "attach file(s) to this message"
- OP_COMPOSE_ATTACH_MESSAGE "attach message(s) to this message"
-+OP_COMPOSE_ATTACH_NEWS_MESSAGE "attach newsmessage(s) to this message"
- OP_COMPOSE_EDIT_BCC "edit the BCC list"
- OP_COMPOSE_EDIT_CC "edit the CC list"
- OP_COMPOSE_EDIT_DESCRIPTION "edit attachment description"
-@@ -26,7 +28,10 @@ OP_COMPOSE_EDIT_FROM "edit the from fiel
- OP_COMPOSE_EDIT_HEADERS "edit the message with headers"
- OP_COMPOSE_EDIT_MESSAGE "edit the message"
- OP_COMPOSE_EDIT_MIME "edit attachment using mailcap entry"
-+OP_COMPOSE_EDIT_NEWSGROUPS "edit the newsgroups list"
- OP_COMPOSE_EDIT_REPLY_TO "edit the Reply-To field"
-+OP_COMPOSE_EDIT_FOLLOWUP_TO "edit the Followup-To field"
-+OP_COMPOSE_EDIT_X_COMMENT_TO "edit the X-Comment-To field"
- OP_COMPOSE_EDIT_SUBJECT "edit the subject of this message"
- OP_COMPOSE_EDIT_TO "edit the TO list"
- OP_CREATE_MAILBOX "create a new mailbox (IMAP only)"
-@@ -85,8 +90,13 @@ OP_EXIT "exit this menu"
- OP_FILTER "filter attachment through a shell command"
- OP_FIRST_ENTRY "move to the first entry"
- OP_FLAG_MESSAGE "toggle a message's 'important' flag"
-+OP_FOLLOWUP "followup to newsgroup"
-+OP_FORWARD_TO_GROUP "forward to newsgroup"
- OP_FORWARD_MESSAGE "forward a message with comments"
- OP_GENERIC_SELECT_ENTRY "select the current entry"
-+OP_GET_CHILDREN "get all children of the current message"
-+OP_GET_MESSAGE "get message with Message-Id"
-+OP_GET_PARENT "get parent of the current message"
- OP_GROUP_REPLY "reply to all recipients"
- OP_HALF_DOWN "scroll down 1/2 page"
- OP_HALF_UP "scroll up 1/2 page"
-@@ -94,11 +104,14 @@ OP_HELP "this screen"
- OP_JUMP "jump to an index number"
- OP_LAST_ENTRY "move to the last entry"
- OP_LIST_REPLY "reply to specified mailing list"
-+OP_LOAD_ACTIVE "load active file from NNTP server"
- OP_MACRO "execute a macro"
- OP_MAIL "compose a new mail message"
- OP_MAIN_BREAK_THREAD "break the thread in two"
- OP_MAIN_CHANGE_FOLDER "open a different folder"
- OP_MAIN_CHANGE_FOLDER_READONLY "open a different folder in read only mode"
-+OP_MAIN_CHANGE_GROUP "open a different newsgroup"
-+OP_MAIN_CHANGE_GROUP_READONLY "open a different newsgroup in read only mode"
- OP_MAIN_CLEAR_FLAG "clear a status flag from a message"
- OP_MAIN_DELETE_PATTERN "delete messages matching a pattern"
- OP_MAIN_IMAP_FETCH "force retrieval of mail from IMAP server"
-@@ -137,6 +150,7 @@ OP_PAGER_HIDE_QUOTED "toggle display of 
- OP_PAGER_SKIP_QUOTED "skip beyond quoted text"
- OP_PAGER_TOP "jump to the top of the message"
- OP_PIPE "pipe message/attachment to a shell command"
-+OP_POST "post message to newsgroup"
- OP_PREV_ENTRY "move to the previous entry"
- OP_PREV_LINE "scroll up one line"
- OP_PREV_PAGE "move to the previous page"
-@@ -145,6 +159,7 @@ OP_QUERY "query external program for add
- OP_QUERY_APPEND "append new query results to current results"
- OP_QUIT "save changes to mailbox and quit"
- OP_RECALL_MESSAGE "recall a postponed message"
-+OP_RECONSTRUCT_THREAD "reconstruct thread containing current message"
- OP_REDRAW "clear and redraw the screen"
- OP_REFORMAT_WINCH "{internal}"
- OP_RENAME_MAILBOX "rename the current mailbox (IMAP only)"
-@@ -159,18 +174,22 @@ OP_SEARCH_TOGGLE "toggle search pattern 
- OP_SHELL_ESCAPE "invoke a command in a subshell"
- OP_SORT "sort messages"
- OP_SORT_REVERSE "sort messages in reverse order"
-+OP_SUBSCRIBE_PATTERN "subscribe to newsgroups matching a pattern"
- OP_TAG "tag the current entry"
- OP_TAG_PREFIX "apply next function to tagged messages"
- OP_TAG_PREFIX_COND "apply next function ONLY to tagged messages"
- OP_TAG_SUBTHREAD "tag the current subthread"
- OP_TAG_THREAD "tag the current thread"
- OP_TOGGLE_NEW "toggle a message's 'new' flag"
-+OP_TOGGLE_READ "toggle view of read messages"
- OP_TOGGLE_WRITE "toggle whether the mailbox will be rewritten"
- OP_TOGGLE_MAILBOXES "toggle whether to browse mailboxes or all files"
- OP_TOP_PAGE "move to the top of the page"
-+OP_UNCATCHUP "mark all articles in newsgroup as unread"
- OP_UNDELETE "undelete the current entry"
- OP_UNDELETE_THREAD "undelete all messages in thread"
- OP_UNDELETE_SUBTHREAD "undelete all messages in subthread"
-+OP_UNSUBSCRIBE_PATTERN "unsubscribe from newsgroups matching a pattern"
- OP_VERSION "show the Mutt version number and date"
- OP_VIEW_ATTACH "view attachment using mailcap entry if necessary"
- OP_VIEW_ATTACHMENTS "show MIME attachments"
-diff -udprP mutt-1.5.16.orig/PATCHES mutt-1.5.16/PATCHES
---- mutt-1.5.16.orig/PATCHES   2007-04-30 05:07:48.000000000 +0300
-+++ mutt-1.5.16/PATCHES        2007-06-15 17:12:26.000000000 +0300
-@@ -0,0 +1 @@
-+vvv.nntp
-diff -udprP mutt-1.5.16.orig/account.c mutt-1.5.16/account.c
---- mutt-1.5.16.orig/account.c 2007-04-11 23:28:23.000000000 +0300
-+++ mutt-1.5.16/account.c      2007-06-15 17:12:26.000000000 +0300
-@@ -54,6 +54,11 @@ int mutt_account_match (const ACCOUNT* a
-     user = PopUser;
- #endif
-   
-+#ifdef USE_NNTP
-+  if (a1->type == M_ACCT_TYPE_NNTP && NntpUser)
-+    user = NntpUser;
-+#endif
-+
-   if (a1->flags & a2->flags & M_ACCT_USER)
-     return (!strcmp (a1->user, a2->user));
-   if (a1->flags & M_ACCT_USER)
-@@ -133,6 +138,16 @@ void mutt_account_tourl (ACCOUNT* accoun
-   }
- #endif
-+#ifdef USE_NNTP
-+  if (account->type == M_ACCT_TYPE_NNTP)
-+  {
-+    if (account->flags & M_ACCT_SSL)
-+      url->scheme = U_NNTPS;
-+    else
-+      url->scheme = U_NNTP;
-+  }
-+#endif
-+
-   url->host = account->host;
-   if (account->flags & M_ACCT_PORT)
-     url->port = account->port;
-@@ -158,6 +173,10 @@ int mutt_account_getuser (ACCOUNT* accou
-   else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
-     strfcpy (account->user, PopUser, sizeof (account->user));
- #endif
-+#ifdef USE_NNTP
-+  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpUser)
-+    strfcpy (account->user, NntpUser, sizeof (account->user));
-+#endif
-   /* prompt (defaults to unix username), copy into account->user */
-   else
-   {
-@@ -218,6 +237,10 @@ int mutt_account_getpass (ACCOUNT* accou
-   else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
-     strfcpy (account->pass, SmtpPass, sizeof (account->pass));
- #endif
-+#ifdef USE_NNTP
-+  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpPass)
-+    strfcpy (account->pass, NntpPass, sizeof (account->pass));
-+#endif
-   else
-   {
-     snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
-diff -udprP mutt-1.5.16.orig/account.h mutt-1.5.16/account.h
---- mutt-1.5.16.orig/account.h 2007-04-02 00:58:55.000000000 +0300
-+++ mutt-1.5.16/account.h      2007-06-15 17:12:26.000000000 +0300
-@@ -29,7 +29,8 @@ enum
-   M_ACCT_TYPE_NONE = 0,
-   M_ACCT_TYPE_IMAP,
-   M_ACCT_TYPE_POP,
--  M_ACCT_TYPE_SMTP
-+  M_ACCT_TYPE_SMTP,
-+  M_ACCT_TYPE_NNTP
- };
++#ifdef USE_NNTP
++  if (account->type == M_ACCT_TYPE_NNTP)
++  {
++    if (account->flags & M_ACCT_SSL)
++      url->scheme = U_NNTPS;
++    else
++      url->scheme = U_NNTP;
++  }
++#endif
++
+   url->host = account->host;
+   if (account->flags & M_ACCT_PORT)
+     url->port = account->port;
+@@ -155,6 +170,10 @@ int mutt_account_getuser (ACCOUNT* accou
+   else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
+     strfcpy (account->user, PopUser, sizeof (account->user));
+ #endif
++#ifdef USE_NNTP
++  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpUser)
++    strfcpy (account->user, NntpUser, sizeof (account->user));
++#endif
+   /* prompt (defaults to unix username), copy into account->user */
+   else
+   {
+@@ -215,6 +234,10 @@ int mutt_account_getpass (ACCOUNT* accou
+   else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
+     strfcpy (account->pass, SmtpPass, sizeof (account->pass));
+ #endif
++#ifdef USE_NNTP
++  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpPass)
++    strfcpy (account->pass, NntpPass, sizeof (account->pass));
++#endif
+   else
+   {
+     snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
+diff -udprP mutt-1.5.19.orig/account.h mutt-1.5.19/account.h
+--- mutt-1.5.19.orig/account.h 2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/account.h      2009-01-06 22:27:38.000000000 +0200
+@@ -29,7 +29,8 @@ enum
+   M_ACCT_TYPE_NONE = 0,
+   M_ACCT_TYPE_IMAP,
+   M_ACCT_TYPE_POP,
+-  M_ACCT_TYPE_SMTP
++  M_ACCT_TYPE_SMTP,
++  M_ACCT_TYPE_NNTP
+ };
  
  /* account flags */
-diff -udprP mutt-1.5.16.orig/attach.h mutt-1.5.16/attach.h
---- mutt-1.5.16.orig/attach.h  2007-04-02 00:58:55.000000000 +0300
-+++ mutt-1.5.16/attach.h       2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/attach.h mutt-1.5.19/attach.h
+--- mutt-1.5.19.orig/attach.h  2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/attach.h       2009-01-06 22:27:38.000000000 +0200
 @@ -50,7 +50,7 @@ void mutt_print_attachment_list (FILE *f
  
  void mutt_attach_bounce (FILE *, HEADER *, ATTACHPTR **, short, BODY *);
@@ -954,9 +561,9 @@ diff -udprP mutt-1.5.16.orig/attach.h mutt-1.5.16/attach.h
  void mutt_attach_reply (FILE *, HEADER *, ATTACHPTR **, short, BODY *, int);
  
  #endif /* _ATTACH_H_ */
-diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
---- mutt-1.5.16.orig/browser.c 2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/browser.c      2007-06-15 17:12:38.000000000 +0300
+diff -udprP mutt-1.5.19.orig/browser.c mutt-1.5.19/browser.c
+--- mutt-1.5.19.orig/browser.c 2009-01-06 01:36:28.000000000 +0200
++++ mutt-1.5.19/browser.c      2009-01-06 22:27:38.000000000 +0200
 @@ -32,6 +32,9 @@
  #ifdef USE_IMAP
  #include "imap.h"
@@ -1229,7 +836,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
  #endif
 @@ -464,15 +646,20 @@ static int examine_mailboxes (MUTTMENU *
      strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
-     mutt_pretty_mailbox (buffer);
+     mutt_pretty_mailbox (buffer, sizeof (buffer));
  
 -    add_folder (menu, state, buffer, &s, tmp->new);
 +    add_folder (menu, state, buffer, &s, NULL, tmp->new);
@@ -1312,7 +919,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
    if (*f)
    {
      mutt_expand_path (f, flen);
-@@ -655,6 +884,9 @@ void _mutt_select_file (char *f, size_t 
+@@ -654,6 +883,9 @@ void _mutt_select_file (char *f, size_t 
      menu->tag = file_tag;
  
    menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_FOLDER,
@@ -1322,7 +929,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
      FolderHelp);
  
    init_menu (&state, menu, title, sizeof (title), buffy);
-@@ -793,7 +1025,11 @@ void _mutt_select_file (char *f, size_t 
+@@ -792,7 +1024,11 @@ void _mutt_select_file (char *f, size_t 
          }
        }
  
@@ -1334,7 +941,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
        {
          strfcpy (f, state.entry[menu->current].name, flen);
          mutt_expand_path (f, flen);
-@@ -851,14 +1087,6 @@ void _mutt_select_file (char *f, size_t 
+@@ -850,14 +1086,6 @@ void _mutt_select_file (char *f, size_t 
          break;
  
  #ifdef USE_IMAP
@@ -1348,8 +955,8 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
 -
        case OP_BROWSER_TOGGLE_LSUB:
        if (option (OPTIMAPLSUB))
-       {
-@@ -957,6 +1185,11 @@ void _mutt_select_file (char *f, size_t 
+         unset_option (OPTIMAPLSUB);
+@@ -958,6 +1186,11 @@ void _mutt_select_file (char *f, size_t 
        
        case OP_CHANGE_DIRECTORY:
  
@@ -1361,7 +968,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
        strfcpy (buf, LastDir, sizeof (buf));
  #ifdef USE_IMAP
        if (!state.imap_browse)
-@@ -1213,6 +1446,190 @@ void _mutt_select_file (char *f, size_t 
+@@ -1224,6 +1457,190 @@ void _mutt_select_file (char *f, size_t 
          else
            mutt_error _("Error trying to view file");
        }
@@ -1552,9 +1159,10 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
      }
    }
    
---- mutt-1.5.18/browser.h.orig 2008-01-30 05:26:49.000000000 +0100
-+++ mutt-1.5.18/browser.h      2008-07-25 17:49:27.844750139 +0200
-@@ -20,6 +20,10 @@
+diff -udprP mutt-1.5.19.orig/browser.h mutt-1.5.19/browser.h
+--- mutt-1.5.19.orig/browser.h 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/browser.h      2009-01-06 22:27:38.000000000 +0200
+@@ -19,6 +19,10 @@
  #ifndef _BROWSER_H
  #define _BROWSER_H 1
  
@@ -1565,7 +1173,7 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
  struct folder_file
  {
    mode_t mode;
-@@ -38,6 +42,9 @@
+@@ -37,6 +41,9 @@ struct folder_file
    unsigned selectable : 1;
    unsigned inferiors : 1;
  #endif
@@ -1575,9 +1183,9 @@ diff -udprP mutt-1.5.16.orig/browser.c mutt-1.5.16/browser.c
    unsigned tagged : 1;
  };
  
-diff -udprP mutt-1.5.16.orig/buffy.c mutt-1.5.16/buffy.c
---- mutt-1.5.16.orig/buffy.c   2007-04-02 00:58:55.000000000 +0300
-+++ mutt-1.5.16/buffy.c        2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/buffy.c mutt-1.5.19/buffy.c
+--- mutt-1.5.19.orig/buffy.c   2008-08-30 02:39:48.000000000 +0300
++++ mutt-1.5.19/buffy.c        2009-01-06 22:27:38.000000000 +0200
 @@ -285,6 +285,9 @@ int mutt_buffy_check (int force)
  #ifdef USE_POP
    if (!Context || Context->magic != M_POP)
@@ -1597,7 +1205,7 @@ diff -udprP mutt-1.5.16.orig/buffy.c mutt-1.5.16/buffy.c
 +      tmp->magic = M_NNTP;
 +    else
 +#endif
-     if (stat (tmp->path, &sb) != 0 || sb.st_size == 0 ||
+     if (stat (tmp->path, &sb) != 0 || (S_ISREG(sb.st_mode) && sb.st_size == 0) ||
        (!tmp->magic && (tmp->magic = mx_get_magic (tmp->path)) <= 0))
      {
 @@ -325,25 +333,21 @@ int mutt_buffy_check (int force)
@@ -1636,9 +1244,9 @@ diff -udprP mutt-1.5.16.orig/buffy.c mutt-1.5.16/buffy.c
      {
        switch (tmp->magic)
        {
-diff -udprP mutt-1.5.16.orig/complete.c mutt-1.5.16/complete.c
---- mutt-1.5.16.orig/complete.c        2007-04-08 00:39:04.000000000 +0300
-+++ mutt-1.5.16/complete.c     2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/complete.c mutt-1.5.19/complete.c
+--- mutt-1.5.19.orig/complete.c        2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/complete.c     2009-01-06 22:27:38.000000000 +0200
 @@ -25,6 +25,9 @@
  #include "mailbox.h"
  #include "imap.h"
@@ -1721,9 +1329,9 @@ diff -udprP mutt-1.5.16.orig/complete.c mutt-1.5.16/complete.c
    /* we can use '/' as a delimiter, imap_complete rewrites it */
    if (*s == '=' || *s == '+' || *s == '!')
    {
-diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
---- mutt-1.5.16.orig/compose.c 2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/compose.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/compose.c mutt-1.5.19/compose.c
+--- mutt-1.5.19.orig/compose.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/compose.c      2009-01-06 22:27:38.000000000 +0200
 @@ -32,10 +32,15 @@
  #include "mailbox.h"
  #include "sort.h"
@@ -1740,7 +1348,14 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
  
  #include <errno.h>
  #include <string.h>
-@@ -67,11 +72,17 @@ enum
+@@ -60,18 +65,21 @@ enum
+   HDR_REPLYTO,
+   HDR_FCC,
+-#ifdef MIXMASTER
+-  HDR_MIX,
+-#endif
    HDR_CRYPT,
    HDR_CRYPTINFO,
  
@@ -1861,7 +1476,7 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
  
    mutt_attach_init (msg->content);
    idx = mutt_gen_attach_list (msg->content, -1, idx, &idxlen, &idxmax, 0, 1);
-@@ -518,10 +574,18 @@ int mutt_compose_menu (HEADER *msg,   /*
+@@ -517,10 +573,18 @@ int mutt_compose_menu (HEADER *msg,   /*
    menu->make_entry = snd_entry;
    menu->tag = mutt_tag_attach;
    menu->data = idx;
@@ -1880,7 +1495,7 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
      switch (op = mutt_menuLoop (menu))
      {
        case OP_REDRAW:
-@@ -534,17 +598,87 @@ int mutt_compose_menu (HEADER *msg,   /*
+@@ -533,17 +597,87 @@ int mutt_compose_menu (HEADER *msg,   /*
          mutt_message_hook (NULL, msg, M_SEND2HOOK);
        break;
        case OP_COMPOSE_EDIT_TO:
@@ -1968,7 +1583,7 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
        case OP_COMPOSE_EDIT_SUBJECT:
        if (msg->env->subject)
          strfcpy (buf, msg->env->subject, sizeof (buf));
-@@ -707,6 +841,9 @@ int mutt_compose_menu (HEADER *msg,   /*
+@@ -706,6 +840,9 @@ int mutt_compose_menu (HEADER *msg,   /*
          break;
  
        case OP_COMPOSE_ATTACH_MESSAGE:
@@ -1978,7 +1593,7 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
        {
          char *prompt;
          HEADER *h;
-@@ -714,7 +851,22 @@ int mutt_compose_menu (HEADER *msg,   /*
+@@ -713,7 +850,22 @@ int mutt_compose_menu (HEADER *msg,   /*
          fname[0] = 0;
          prompt = _("Open mailbox to attach message from");
  
@@ -2000,8 +1615,8 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
 +#endif
          {
            strfcpy (fname, NONULL (Context->path), sizeof (fname));
-           mutt_pretty_mailbox (fname);
-@@ -723,6 +875,11 @@ int mutt_compose_menu (HEADER *msg,   /*
+           mutt_pretty_mailbox (fname, sizeof (fname));
+@@ -722,6 +874,11 @@ int mutt_compose_menu (HEADER *msg,   /*
          if (mutt_enter_fname (prompt, fname, sizeof (fname), &menu->redraw, 1) == -1 || !fname[0])
            break;
  
@@ -2013,7 +1628,7 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
          mutt_expand_path (fname, sizeof (fname));
  #ifdef USE_IMAP
            if (!mx_is_imap (fname))
-@@ -730,6 +887,9 @@ int mutt_compose_menu (HEADER *msg,   /*
+@@ -729,6 +886,9 @@ int mutt_compose_menu (HEADER *msg,   /*
  #ifdef USE_POP
            if (!mx_is_pop (fname))
  #endif
@@ -2023,9 +1638,9 @@ diff -udprP mutt-1.5.16.orig/compose.c mutt-1.5.16/compose.c
          /* check to make sure the file exists and is readable */
          if (access (fname, R_OK) == -1)
          {
-diff -udprP mutt-1.5.16.orig/config.h.in mutt-1.5.16/config.h.in
---- mutt-1.5.16.orig/config.h.in       2007-06-10 05:44:57.000000000 +0300
-+++ mutt-1.5.16/config.h.in    2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/config.h.in mutt-1.5.19/config.h.in
+--- mutt-1.5.19.orig/config.h.in       2008-11-18 01:54:00.000000000 +0200
++++ mutt-1.5.19/config.h.in    2009-01-06 22:27:38.000000000 +0200
 @@ -34,6 +34,9 @@
     significant more memory when defined. */
  #undef EXACT_ADDRESS
@@ -2036,42 +1651,10 @@ diff -udprP mutt-1.5.16.orig/config.h.in mutt-1.5.16/config.h.in
  /* program to use for shell commands */
  #undef EXECSHELL
  
-diff -udprP mutt-1.5.16.orig/configure mutt-1.5.16/configure
---- mutt-1.5.16.orig/configure 2007-06-10 05:43:29.000000000 +0300
-+++ mutt-1.5.16/configure      2007-06-15 17:12:26.000000000 +0300
-@@ -1342,6 +1342,7 @@ Optional Features:
-                           Force use of an external dotlock program
-   --enable-pop            Enable POP3 support
-   --enable-imap           Enable IMAP support
-+  --enable-nntp           Enable NNTP support
-   --enable-smtp           include internal SMTP relay support
-   --enable-debug          Enable debugging support
-   --enable-flock          Use flock() to lock files
-@@ -13919,6 +13920,20 @@ fi
- fi
- done
-+# Check whether --enable-nntp or --disable-nntp was given.
-+if test "${enable_nntp+set}" = set; then
-+  enableval="$enable_nntp"
-+      if test x$enableval = xyes ; then
-+              cat >>confdefs.h <<\_ACEOF
-+#define USE_NNTP 1
-+_ACEOF
-+
-+              MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS nntp.o newsrc.o"
-+              need_socket="yes"
-+      fi
-+
-+fi;
-+
- for ac_func in strftime
-diff -udprP mutt-1.5.16.orig/configure.ac mutt-1.5.16/configure.ac
---- mutt-1.5.16.orig/configure.ac      2007-06-04 07:20:01.000000000 +0300
-+++ mutt-1.5.16/configure.ac   2007-06-15 17:12:26.000000000 +0300
-@@ -584,6 +584,14 @@ if test x"$need_imap" = xyes -o x"$need_
+diff -udprP mutt-1.5.19.orig/configure.ac mutt-1.5.19/configure.ac
+--- mutt-1.5.19.orig/configure.ac      2008-11-17 22:15:26.000000000 +0200
++++ mutt-1.5.19/configure.ac   2009-01-06 22:27:38.000000000 +0200
+@@ -598,6 +598,14 @@ if test x"$need_imap" = xyes -o x"$need_
    MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS bcache.o"
  fi
  
@@ -2086,18 +1669,18 @@ diff -udprP mutt-1.5.16.orig/configure.ac mutt-1.5.16/configure.ac
  dnl -- end socket dependencies --
  
  if test "$need_socket" = "yes"
-diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
---- mutt-1.5.16.orig/curs_main.c       2007-05-20 10:30:00.000000000 +0300
-+++ mutt-1.5.16/curs_main.c    2007-06-15 17:12:41.000000000 +0300
+diff -udprP mutt-1.5.19.orig/curs_main.c mutt-1.5.19/curs_main.c
+--- mutt-1.5.19.orig/curs_main.c       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/curs_main.c    2009-01-06 22:27:38.000000000 +0200
 @@ -22,6 +22,7 @@
  
  #include "mutt.h"
  #include "mutt_curses.h"
 +#include "mx.h"
  #include "mutt_menu.h"
- #include "attach.h"
  #include "mailbox.h"
-@@ -40,6 +41,10 @@
+ #include "mapping.h"
+@@ -38,6 +39,10 @@
  
  #include "mutt_crypt.h"
  
@@ -2108,7 +1691,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
  
  #include <ctype.h>
  #include <stdlib.h>
-@@ -415,12 +420,27 @@ struct mapping_t IndexHelp[] = {
+@@ -413,12 +418,27 @@ static struct mapping_t IndexHelp[] = {
    { NULL }
  };
  
@@ -2136,7 +1719,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
    int op = OP_NULL;
    int done = 0;                /* controls when to exit the "event" loop */
    int i = 0, j;
-@@ -442,7 +462,11 @@ int mutt_index_menu (void)
+@@ -439,7 +459,11 @@ int mutt_index_menu (void)
    menu->make_entry = index_make_entry;
    menu->color = index_color;
    menu->current = ci_first_message ();
@@ -2149,9 +1732,9 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
    
    if (!attach_msg) 
      mutt_buffy_check(1); /* force the buffy check after we enter the folder */
-@@ -694,6 +718,9 @@ int mutt_index_menu (void)
-       mutt_curs_set (1);      /* fallback from the pager */
-     }
+@@ -690,6 +714,9 @@ int mutt_index_menu (void)
+     imap_disallow_reopen (Context);
+ #endif
  
 +#ifdef USE_NNTP
 +    unset_option (OPTNEWS);   /* for any case */
@@ -2159,7 +1742,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
      switch (op)
      {
  
-@@ -744,6 +771,120 @@ int mutt_index_menu (void)
+@@ -740,6 +767,120 @@ int mutt_index_menu (void)
        menu_current_bottom (menu);
        break;
  
@@ -2280,7 +1863,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        case OP_JUMP:
  
        CHECK_MSGCOUNT;
-@@ -841,11 +982,33 @@ int mutt_index_menu (void)
+@@ -837,11 +978,33 @@ int mutt_index_menu (void)
          break;
  
        case OP_MAIN_LIMIT:
@@ -2315,7 +1898,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        {
          if (menu->oldcurrent >= 0)
          {
-@@ -1053,15 +1216,22 @@ int mutt_index_menu (void)
+@@ -1050,15 +1213,22 @@ int mutt_index_menu (void)
  
        case OP_MAIN_CHANGE_FOLDER:
        case OP_MAIN_NEXT_UNREAD_MAILBOX:
@@ -2345,7 +1928,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
            cp = _("Open mailbox in read-only mode");
          else
            cp = _("Open mailbox");
-@@ -1080,6 +1250,21 @@ int mutt_index_menu (void)
+@@ -1077,6 +1247,21 @@ int mutt_index_menu (void)
        }
        else
        {
@@ -2367,7 +1950,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
          mutt_buffy (buf, sizeof (buf));
  
          if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1)
-@@ -1099,6 +1284,14 @@ int mutt_index_menu (void)
+@@ -1096,6 +1281,14 @@ int mutt_index_menu (void)
          }
        }
  
@@ -2382,7 +1965,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        mutt_expand_path (buf, sizeof (buf));
        if (mx_get_magic (buf) <= 0)
        {
-@@ -1136,15 +1329,18 @@ int mutt_index_menu (void)
+@@ -1133,15 +1326,18 @@ int mutt_index_menu (void)
        CurrentMenu = MENU_MAIN;
        mutt_folder_hook (buf);
  
@@ -2404,7 +1987,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        mutt_clear_error ();
        mutt_buffy_check(1); /* force the buffy check after we have changed
                              the folder */
-@@ -1515,6 +1711,15 @@ int mutt_index_menu (void)
+@@ -1512,6 +1708,15 @@ int mutt_index_menu (void)
        CHECK_READONLY;
        CHECK_ACL(M_ACL_WRITE, _("flag message"));
  
@@ -2420,7 +2003,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
          if (tag)
          {
          for (j = 0; j < Context->vcount; j++)
-@@ -1862,6 +2067,17 @@ int mutt_index_menu (void)
+@@ -1859,6 +2064,17 @@ int mutt_index_menu (void)
        }
        break;
  
@@ -2438,7 +2021,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        case OP_DISPLAY_ADDRESS:
  
        CHECK_MSGCOUNT;
-@@ -1989,6 +2205,15 @@ int mutt_index_menu (void)
+@@ -1986,6 +2202,15 @@ int mutt_index_menu (void)
          menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
        }
  #endif
@@ -2454,16 +2037,20 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
  
        MAYBE_REDRAW (menu->redraw);
        break;
-@@ -2060,6 +2285,37 @@ int mutt_index_menu (void)
+@@ -2057,6 +2282,41 @@ int mutt_index_menu (void)
        
          menu->redraw = REDRAW_FULL;
          break;
 +
 +#ifdef USE_NNTP
-+      case OP_POST:
 +      case OP_FOLLOWUP:
 +      case OP_FORWARD_TO_GROUP:
 +
++      CHECK_MSGCOUNT;
++      CHECK_VISIBLE;
++
++      case OP_POST:
++
 +      CHECK_ATTACH;
 +      if (op != OP_FOLLOWUP || !CURHDR->env->followup_to ||
 +          mutt_strcasecmp (CURHDR->env->followup_to, "poster") ||
@@ -2492,7 +2079,7 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        
        case OP_REPLY:
  
-@@ -2136,6 +2392,12 @@ int mutt_index_menu (void)
+@@ -2133,6 +2393,12 @@ int mutt_index_menu (void)
        CHECK_READONLY;
        CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
  
@@ -2505,10 +2092,10 @@ diff -udprP mutt-1.5.16.orig/curs_main.c mutt-1.5.16/curs_main.c
        rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
                                   op == OP_UNDELETE_THREAD ? 0 : 1);
  
-diff -udprP mutt-1.5.16.orig/doc/manual.xml.head mutt-1.5.16/doc/manual.xml.head
---- mutt-1.5.16.orig/doc/manual.xml.head       2007-04-04 08:37:13.000000000 +0300
-+++ mutt-1.5.16/doc/manual.xml.head    2007-06-15 17:12:26.000000000 +0300
-@@ -1295,6 +1295,22 @@ fo-table</literal> for details.
+diff -udprP mutt-1.5.19.orig/doc/manual.xml.head mutt-1.5.19/doc/manual.xml.head
+--- mutt-1.5.19.orig/doc/manual.xml.head       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/doc/manual.xml.head    2009-01-06 22:27:38.000000000 +0200
+@@ -1388,6 +1388,22 @@ fo-table</literal> for details.
  
  </sect2>
  
@@ -2531,9 +2118,9 @@ diff -udprP mutt-1.5.16.orig/doc/manual.xml.head mutt-1.5.16/doc/manual.xml.head
  </sect1>
  
  <sect1 id="forwarding-mail">
-diff -udprP mutt-1.5.16.orig/doc/mutt.man mutt-1.5.16/doc/mutt.man
---- mutt-1.5.16.orig/doc/mutt.man      2007-04-04 08:37:13.000000000 +0300
-+++ mutt-1.5.16/doc/mutt.man   2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/doc/mutt.man mutt-1.5.19/doc/mutt.man
+--- mutt-1.5.19.orig/doc/mutt.man      2009-01-05 22:18:18.000000000 +0200
++++ mutt-1.5.19/doc/mutt.man   2009-01-06 22:27:38.000000000 +0200
 @@ -23,8 +23,8 @@ mutt \- The Mutt Mail User Agent
  .SH SYNOPSIS
  .PP
@@ -2545,7 +2132,7 @@ diff -udprP mutt-1.5.16.orig/doc/mutt.man mutt-1.5.16/doc/mutt.man
  .PP
  .B mutt 
  [-nx] 
-@@ -83,6 +83,10 @@ files.
+@@ -101,6 +101,10 @@ files.
  Specify which mailbox to load.
  .IP "-F \fImuttrc\fP"
  Specify an initialization file to read instead of ~/.muttrc
@@ -2556,32 +2143,34 @@ diff -udprP mutt-1.5.16.orig/doc/mutt.man mutt-1.5.16/doc/mutt.man
  .IP "-h"
  Display help.
  .IP "-H \fIdraft\fP"
-diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
---- mutt-1.5.16.orig/functions.h       2007-05-14 20:10:00.000000000 +0300
-+++ mutt-1.5.16/functions.h    2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/functions.h mutt-1.5.19/functions.h
+--- mutt-1.5.19.orig/functions.h       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/functions.h    2009-01-06 22:27:38.000000000 +0200
 @@ -88,6 +88,10 @@ struct binding_t OpMain[] = { /* map: in
    { "break-thread",           OP_MAIN_BREAK_THREAD,           "#" },
    { "change-folder",          OP_MAIN_CHANGE_FOLDER,          "c" },
    { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
 +#ifdef USE_NNTP
-+  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "I" },
++  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "i" },
 +  { "change-newsgroup-readonly",OP_MAIN_CHANGE_GROUP_READONLY,        "\033i" },
 +#endif
    { "next-unread-mailbox",    OP_MAIN_NEXT_UNREAD_MAILBOX,    NULL },
    { "collapse-thread",                OP_MAIN_COLLAPSE_THREAD,        "\033v" },
    { "collapse-all",           OP_MAIN_COLLAPSE_ALL,           "\033V" },
-@@ -102,6 +106,14 @@ struct binding_t OpMain[] = { /* map: in
+@@ -101,7 +105,15 @@ struct binding_t OpMain[] = { /* map: in
+   { "edit",                   OP_EDIT_MESSAGE,                "e" },
    { "edit-type",              OP_EDIT_TYPE,                   "\005" },
    { "forward-message",                OP_FORWARD_MESSAGE,             "f" },
-   { "flag-message",           OP_FLAG_MESSAGE,                "F" },
+-  { "flag-message",           OP_FLAG_MESSAGE,                "F" },
 +#ifdef USE_NNTP
 +  { "forward-to-group",               OP_FORWARD_TO_GROUP,            "\033F" },
-+  { "followup-message",               OP_FOLLOWUP,                    "\033f" },
++  { "followup-message",               OP_FOLLOWUP,                    "F" },
 +  { "get-children",           OP_GET_CHILDREN,                NULL },
 +  { "get-message",            OP_GET_MESSAGE,                 "\007" },
 +  { "get-parent",             OP_GET_PARENT,                  "\033G" },
 +  { "reconstruct-thread",     OP_RECONSTRUCT_THREAD,          NULL },
 +#endif
++  { "flag-message",           OP_FLAG_MESSAGE,                "\033f" },
    { "group-reply",            OP_GROUP_REPLY,                 "g" },
  #ifdef USE_POP
    { "fetch-mail",             OP_MAIN_FETCH_MAIL,             "G" },
@@ -2590,7 +2179,7 @@ diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
    { "sort-reverse",           OP_SORT_REVERSE,                "O" },
    { "print-message",          OP_PRINT,                       "p" },
 +#ifdef USE_NNTP
-+  { "post-message",           OP_POST,                        "\033m" },
++  { "post-message",           OP_POST,                        "P" },
 +#endif
    { "previous-thread",                OP_MAIN_PREV_THREAD,            "\020" },
    { "previous-subthread",     OP_MAIN_PREV_SUBTHREAD,         "\033p" },
@@ -2606,50 +2195,71 @@ diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
    { "display-message",                OP_DISPLAY_MESSAGE,             M_ENTER_S },
    { "buffy-list",             OP_BUFFY_LIST,                  "." },
    { "sync-mailbox",           OP_MAIN_SYNC_FOLDER,            "$" },
+@@ -157,7 +176,7 @@ struct binding_t OpMain[] = { /* map: in
+   { "previous-new-then-unread",       OP_MAIN_PREV_NEW_THEN_UNREAD,   "\033\t" },
+   { "next-unread",            OP_MAIN_NEXT_UNREAD,            NULL },
+   { "previous-unread",                OP_MAIN_PREV_UNREAD,            NULL },
+-  { "parent-message",         OP_MAIN_PARENT_MESSAGE,         "P" },
++  { "parent-message",         OP_MAIN_PARENT_MESSAGE,         NULL },
+   { "extract-keys",           OP_EXTRACT_KEYS,                "\013" },
 @@ -177,6 +196,10 @@ struct binding_t OpPager[] = { /* map: p
    { "bounce-message", OP_BOUNCE_MESSAGE,              "b" },
    { "change-folder",  OP_MAIN_CHANGE_FOLDER,          "c" },
    { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
 +#ifdef USE_NNTP
-+  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "I" },
++  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "i" },
 +  { "change-newsgroup-readonly",OP_MAIN_CHANGE_GROUP_READONLY,        "\033i" },
 +#endif
    { "next-unread-mailbox",    OP_MAIN_NEXT_UNREAD_MAILBOX, NULL },
    { "copy-message",   OP_COPY_MESSAGE,                "C" },
    { "decode-copy",    OP_DECODE_COPY,                 "\033C" },
-@@ -185,6 +208,10 @@ struct binding_t OpPager[] = { /* map: p
+@@ -185,8 +208,12 @@ struct binding_t OpPager[] = { /* map: p
    { "delete-subthread",       OP_DELETE_SUBTHREAD,            "\033d" },
    { "edit",           OP_EDIT_MESSAGE,                "e" },
    { "edit-type",      OP_EDIT_TYPE,                   "\005" },
 +#ifdef USE_NNTP
-+  { "followup-message",       OP_FOLLOWUP,                    "\033f" },
++  { "followup-message",       OP_FOLLOWUP,                    "F" },
 +  { "forward-to-group",       OP_FORWARD_TO_GROUP,            "\033F" },
 +#endif
    { "forward-message",        OP_FORWARD_MESSAGE,             "f" },
-   { "flag-message",   OP_FLAG_MESSAGE,                "F" },
+-  { "flag-message",   OP_FLAG_MESSAGE,                "F" },
++  { "flag-message",   OP_FLAG_MESSAGE,                "\033f" },
    { "group-reply",    OP_GROUP_REPLY,                 "g" },
+ #ifdef USE_IMAP
+   { "imap-fetch-mail",  OP_MAIN_IMAP_FETCH,           NULL },
 @@ -205,6 +232,9 @@ struct binding_t OpPager[] = { /* map: p
    { "next-thread",    OP_MAIN_NEXT_THREAD,            "\016" },
    { "next-subthread", OP_MAIN_NEXT_SUBTHREAD,         "\033n" },
    { "print-message",  OP_PRINT,                       "p" },
 +#ifdef USE_NNTP
-+  { "post-message",   OP_POST,                        "\033m" },
++  { "post-message",   OP_POST,                        "P" },
 +#endif
    { "previous-thread",        OP_MAIN_PREV_THREAD,            "\020" },
    { "previous-subthread",OP_MAIN_PREV_SUBTHREAD,      "\033p" },
    { "quit",           OP_QUIT,                        "Q" },
-@@ -272,6 +302,10 @@ struct binding_t OpAttach[] = { /* map: 
+@@ -252,7 +282,7 @@ struct binding_t OpPager[] = { /* map: p
+   { "half-down",      OP_HALF_DOWN,                   NULL },
+   { "previous-line",  OP_PREV_LINE,                   NULL },
+   { "bottom",         OP_PAGER_BOTTOM,                NULL },
+-  { "parent-message", OP_MAIN_PARENT_MESSAGE,         "P" },
++  { "parent-message", OP_MAIN_PARENT_MESSAGE,         NULL },
+@@ -273,6 +303,10 @@ struct binding_t OpAttach[] = { /* map: 
    { "bounce-message", OP_BOUNCE_MESSAGE,              "b" },
    { "display-toggle-weed",    OP_DISPLAY_HEADERS,     "h" },
    { "edit-type",      OP_EDIT_TYPE,                   "\005" },
 +#ifdef USE_NNTP
-+  { "followup-message",       OP_FOLLOWUP,                    "\033f" },
++  { "followup-message",       OP_FOLLOWUP,                    "F" },
 +  { "forward-to-group",       OP_FORWARD_TO_GROUP,            "\033F" },
 +#endif
    { "print-entry",    OP_PRINT,                       "p" },
    { "save-entry",     OP_SAVE,                        "s" },
    { "pipe-entry",     OP_PIPE,                        "|" },
-@@ -297,6 +331,7 @@ struct binding_t OpAttach[] = { /* map: 
+@@ -298,6 +332,7 @@ struct binding_t OpAttach[] = { /* map: 
  struct binding_t OpCompose[] = { /* map: compose */
    { "attach-file",    OP_COMPOSE_ATTACH_FILE,         "a" },
    { "attach-message", OP_COMPOSE_ATTACH_MESSAGE,      "A" },
@@ -2657,7 +2267,7 @@ diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
    { "edit-bcc",               OP_COMPOSE_EDIT_BCC,            "b" },
    { "edit-cc",                OP_COMPOSE_EDIT_CC,             "c" },
    { "copy-file",      OP_SAVE,                        "C" },
-@@ -316,6 +351,11 @@ struct binding_t OpCompose[] = { /* map:
+@@ -317,6 +352,11 @@ struct binding_t OpCompose[] = { /* map:
    { "print-entry",    OP_PRINT,                       "l" },
    { "edit-mime",      OP_COMPOSE_EDIT_MIME,           "m" },
    { "new-mime",               OP_COMPOSE_NEW_MIME,            "n" },
@@ -2669,7 +2279,7 @@ diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
    { "postpone-message",       OP_COMPOSE_POSTPONE_MESSAGE,    "P" },
    { "edit-reply-to",  OP_COMPOSE_EDIT_REPLY_TO,       "r" },
    { "rename-file",    OP_COMPOSE_RENAME_FILE,         "R" },
-@@ -367,14 +407,25 @@ struct binding_t OpBrowser[] = { /* map:
+@@ -368,14 +408,25 @@ struct binding_t OpBrowser[] = { /* map:
    { "select-new",     OP_BROWSER_NEW_FILE,    "N" },
    { "check-new",      OP_CHECK_NEW,           NULL },
    { "toggle-mailboxes", OP_TOGGLE_MAILBOXES,  "\t" },
@@ -2695,9 +2305,9 @@ diff -udprP mutt-1.5.16.orig/functions.h mutt-1.5.16/functions.h
    { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T" },
  #endif
    { NULL,             0,                      NULL }
-diff -udprP mutt-1.5.16.orig/globals.h mutt-1.5.16/globals.h
---- mutt-1.5.16.orig/globals.h 2007-06-10 05:29:21.000000000 +0300
-+++ mutt-1.5.16/globals.h      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/globals.h mutt-1.5.19/globals.h
+--- mutt-1.5.19.orig/globals.h 2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/globals.h      2009-01-06 22:27:38.000000000 +0200
 @@ -95,6 +95,15 @@ WHERE char *MixEntryFormat;
  #endif
  
@@ -2714,7 +2324,7 @@ diff -udprP mutt-1.5.16.orig/globals.h mutt-1.5.16/globals.h
  WHERE char *Outbox;
  WHERE char *Pager;
  WHERE char *PagerFmt;
-@@ -190,6 +199,11 @@ extern unsigned char QuadOptions[];
+@@ -187,6 +196,11 @@ extern unsigned char QuadOptions[];
  
  WHERE unsigned short Counter INITVAL (0);
  
@@ -2726,10 +2336,10 @@ diff -udprP mutt-1.5.16.orig/globals.h mutt-1.5.16/globals.h
  WHERE short ConnectTimeout;
  WHERE short HistSize;
  WHERE short MenuContext;
-diff -udprP mutt-1.5.16.orig/hash.c mutt-1.5.16/hash.c
---- mutt-1.5.16.orig/hash.c    2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/hash.c 2007-06-15 17:12:26.000000000 +0300
-@@ -51,10 +51,35 @@ HASH *hash_create (int nelem)
+diff -udprP mutt-1.5.19.orig/hash.c mutt-1.5.19/hash.c
+--- mutt-1.5.19.orig/hash.c    2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/hash.c 2009-01-06 22:27:38.000000000 +0200
+@@ -45,10 +45,35 @@ HASH *hash_create (int nelem)
    if (nelem == 0)
      nelem = 2;
    table->nelem = nelem;
@@ -2765,7 +2375,7 @@ diff -udprP mutt-1.5.16.orig/hash.c mutt-1.5.16/hash.c
  /* table        hash table to update
   * key          key to hash on
   * data         data to associate with `key'
-@@ -74,6 +99,7 @@ int hash_insert (HASH * table, const cha
+@@ -68,6 +93,7 @@ int hash_insert (HASH * table, const cha
    {
      ptr->next = table->table[h];
      table->table[h] = ptr;
@@ -2773,7 +2383,7 @@ diff -udprP mutt-1.5.16.orig/hash.c mutt-1.5.16/hash.c
    }
    else
    {
-@@ -96,6 +122,7 @@ int hash_insert (HASH * table, const cha
+@@ -90,6 +116,7 @@ int hash_insert (HASH * table, const cha
      else
        table->table[h] = ptr;
      ptr->next = tmp;
@@ -2781,7 +2391,7 @@ diff -udprP mutt-1.5.16.orig/hash.c mutt-1.5.16/hash.c
    }
    return h;
  }
-@@ -126,6 +153,7 @@ void hash_delete_hash (HASH * table, int
+@@ -120,6 +147,7 @@ void hash_delete_hash (HASH * table, int
        if (destroy)
        destroy (ptr->data);
        FREE (&ptr);
@@ -2789,9 +2399,9 @@ diff -udprP mutt-1.5.16.orig/hash.c mutt-1.5.16/hash.c
        
        ptr = *last;
      }
-diff -udprP mutt-1.5.16.orig/hash.h mutt-1.5.16/hash.h
---- mutt-1.5.16.orig/hash.h    2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/hash.h 2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/hash.h mutt-1.5.19/hash.h
+--- mutt-1.5.19.orig/hash.h    2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/hash.h 2009-01-06 22:27:38.000000000 +0200
 @@ -28,7 +28,7 @@ struct hash_elem
  
  typedef struct
@@ -2803,15 +2413,15 @@ diff -udprP mutt-1.5.16.orig/hash.h mutt-1.5.16/hash.h
  HASH;
 @@ -40,6 +40,7 @@ HASH;
  HASH *hash_create (int nelem);
int hash_string (const unsigned char *s, int n);
unsigned int hash_string (const unsigned char *s, unsigned int n);
  int hash_insert (HASH * table, const char *key, void *data, int allow_dup);
 +HASH *hash_resize (HASH * table, int nelem);
  void *hash_find_hash (const HASH * table, int hash, const char *key);
  void hash_delete_hash (HASH * table, int hash, const char *key, const void *data,
                       void (*destroy) (void *));
-diff -udprP mutt-1.5.16.orig/hdrline.c mutt-1.5.16/hdrline.c
---- mutt-1.5.16.orig/hdrline.c 2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/hdrline.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/hdrline.c mutt-1.5.19/hdrline.c
+--- mutt-1.5.19.orig/hdrline.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/hdrline.c      2009-01-06 22:27:38.000000000 +0200
 @@ -209,6 +209,7 @@ int mutt_user_is_recipient (HEADER *h)
   * %E = number of messages in current thread
   * %f = entire from line
@@ -2878,9 +2488,9 @@ diff -udprP mutt-1.5.16.orig/hdrline.c mutt-1.5.16/hdrline.c
      case 'Z':
      
        ch = ' ';
-diff -udprP mutt-1.5.16.orig/headers.c mutt-1.5.16/headers.c
---- mutt-1.5.16.orig/headers.c 2007-04-10 07:33:44.000000000 +0300
-+++ mutt-1.5.16/headers.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/headers.c mutt-1.5.19/headers.c
+--- mutt-1.5.19.orig/headers.c 2008-08-15 21:30:12.000000000 +0300
++++ mutt-1.5.19/headers.c      2009-01-06 22:27:38.000000000 +0200
 @@ -118,6 +118,9 @@ void mutt_edit_headers (const char *edit
    msg->env = n; n = NULL;
  
@@ -2891,10 +2501,10 @@ diff -udprP mutt-1.5.16.orig/headers.c mutt-1.5.16/headers.c
      mutt_free_list (&msg->env->references);
  
    mutt_expand_aliases_env (msg->env);
-diff -udprP mutt-1.5.16.orig/init.c mutt-1.5.16/init.c
---- mutt-1.5.16.orig/init.c    2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/init.c 2007-06-15 17:12:26.000000000 +0300
-@@ -2859,6 +2859,28 @@ void mutt_init (int skip_sys_rc, LIST *c
+diff -udprP mutt-1.5.19.orig/init.c mutt-1.5.19/init.c
+--- mutt-1.5.19.orig/init.c    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/init.c 2009-01-06 22:27:38.000000000 +0200
+@@ -2965,6 +2965,28 @@ void mutt_init (int skip_sys_rc, LIST *c
    else
      Fqdn = safe_strdup(NONULL(Hostname));
  
@@ -2923,33 +2533,33 @@ diff -udprP mutt-1.5.16.orig/init.c mutt-1.5.16/init.c
    if ((p = getenv ("MAIL")))
      Spoolfile = safe_strdup (p);
    else if ((p = getenv ("MAILDIR")))
-diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
---- mutt-1.5.16.orig/init.h    2007-06-10 05:29:21.000000000 +0300
-+++ mutt-1.5.16/init.h 2007-06-15 17:12:26.000000000 +0300
-@@ -169,6 +169,20 @@ struct option_t MuttVars[] = {
-   ** If set, Mutt will prompt you for carbon-copy (Cc) recipients before
+diff -udprP mutt-1.5.19.orig/init.h mutt-1.5.19/init.h
+--- mutt-1.5.19.orig/init.h    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/init.h 2009-01-06 22:27:38.000000000 +0200
+@@ -176,6 +176,20 @@ struct option_t MuttVars[] = {
+   ** If \fIset\fP, Mutt will prompt you for carbon-copy (Cc) recipients before
    ** editing the body of an outgoing message.
-   */  
+   */
 +#ifdef USE_NNTP
 +  { "ask_follow_up",  DT_BOOL, R_NONE, OPTASKFOLLOWUP, 0 },
 +  /*
 +  ** .pp
 +  ** If set, Mutt will prompt you for follow-up groups before editing
 +  ** the body of an outgoing message.
-+  */  
++  */
 +  { "ask_x_comment_to",       DT_BOOL, R_NONE, OPTASKXCOMMENTTO, 0 },
 +  /*
 +  ** .pp
 +  ** If set, Mutt will prompt you for x-comment-to field before editing
 +  ** the body of an outgoing message.
-+  */  
++  */
 +#endif
    { "assumed_charset", DT_STR, R_NONE, UL &AssumedCharset, UL 0},
    /*
    ** .pp
-@@ -308,6 +322,14 @@ struct option_t MuttVars[] = {
-   ** When this variable is set, mutt will use file size attribute instead of
-   ** access time when checking for new mail.
+@@ -329,6 +343,14 @@ struct option_t MuttVars[] = {
+   ** mailbox by performing a fast mailbox scan when it is defined.
+   ** Afterwards the new mail status is tracked by file size changes.
    */
 +#ifdef USE_NNTP
 +  { "catchup_newsgroup", DT_QUAD, R_NONE, OPT_CATCHUP, M_ASKYES },
@@ -2962,7 +2572,7 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "charset",                DT_STR,  R_NONE, UL &Charset, UL 0 },
    /*
    ** .pp
-@@ -635,6 +657,16 @@ struct option_t MuttVars[] = {
+@@ -690,6 +712,16 @@ struct option_t MuttVars[] = {
    ** sent to both the list and your address, resulting in two copies
    ** of the same email for you.
    */
@@ -2979,9 +2589,9 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "force_name",     DT_BOOL, R_NONE, OPTFORCENAME, 0 },
    /*
    ** .pp
-@@ -706,6 +738,27 @@ struct option_t MuttVars[] = {
+@@ -760,6 +792,27 @@ struct option_t MuttVars[] = {
    ** a regular expression that will match the whole name so mutt will expand
-   ** "Franklin" to "Franklin, Steve".
+   ** ``Franklin'' to ``Franklin, Steve''.
    */
 +#ifdef USE_NNTP
 +  { "group_index_format", DT_STR, R_BOTH, UL &GroupFormat, UL "%4C %M%N %5s  %-45.45f %d" },
@@ -3007,32 +2617,32 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "hdr_format",     DT_SYN,  R_NONE, UL "index_format", 0 },
    /*
    */
-@@ -996,6 +1049,7 @@ struct option_t MuttVars[] = {
+@@ -1090,6 +1143,7 @@ struct option_t MuttVars[] = {
    ** .dt %E .dd number of messages in current thread
-   ** .dt %f .dd entire From: line (address + real name)
+   ** .dt %f .dd sender (address + real name), either From: or Return-Path:
    ** .dt %F .dd author name, or recipient name if the message is from you
 +  ** .dt %g .dd newsgroup name (if compiled with nntp support)
    ** .dt %H .dd spam attribute(s) of this message
    ** .dt %i .dd message-id of the current message
    ** .dt %l .dd number of lines in the message (does not work with maildir,
-@@ -1010,12 +1064,14 @@ struct option_t MuttVars[] = {
-   ** .dt %O .dd (_O_riginal save folder)  Where mutt would formerly have
-   **            stashed the message: list name or recipient name if no list
+@@ -1105,12 +1159,14 @@ struct option_t MuttVars[] = {
+   **            stashed the message: list name or recipient name
+   **            if not sent to a list
    ** .dt %P .dd progress indicator for the builtin pager (how much of the file has been displayed)
 +  ** .dt %R .dd `x-comment-to:' field (if present and compiled with nntp support)
    ** .dt %s .dd subject of the message
-   ** .dt %S .dd status of the message (N/D/d/!/r/\(as)
-   ** .dt %t .dd `to:' field (recipients)
+   ** .dt %S .dd status of the message (``N''/``D''/``d''/``!''/``r''/\(as)
+   ** .dt %t .dd ``To:'' field (recipients)
    ** .dt %T .dd the appropriate character from the $$to_chars string
    ** .dt %u .dd user (login) name of the author
    ** .dt %v .dd first name of the author, or the recipient if the message is from you
 +  ** .dt %W .dd name of organization of author (`organization:' field)
    ** .dt %X .dd number of attachments
    **            (please see the ``$attachments'' section for possible speed effects)
-   ** .dt %y .dd `x-label:' field, if present
-@@ -1040,6 +1096,21 @@ struct option_t MuttVars[] = {
-   ** .pp
-   ** See also: ``$$to_chars''.
+   ** .dt %y .dd ``X-Label:'' field, if present
+@@ -1145,6 +1201,21 @@ struct option_t MuttVars[] = {
+   ** Note that these expandos are supported in
+   ** ``$save-hook'', ``$fcc-hook'' and ``$fcc-save-hook'', too.
    */
 +#ifdef USE_NNTP
 +  { "inews",          DT_PATH, R_NONE, UL &Inews, UL "" },
@@ -3052,10 +2662,10 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "ispell",         DT_PATH, R_NONE, UL &Ispell, UL ISPELL },
    /*
    ** .pp
-@@ -1254,6 +1325,16 @@ struct option_t MuttVars[] = {
-   ** be attached to the newly composed message if this option is set.
+@@ -1368,6 +1439,15 @@ struct option_t MuttVars[] = {
+   ** menu, attachments which cannot be decoded in a reasonable manner will
+   ** be attached to the newly composed message if this option is \fIset\fP.
    */
 +#ifdef USE_NNTP
 +  { "mime_subject",   DT_BOOL, R_NONE, OPTMIMESUBJECT, 1 },
 +  /*
@@ -3065,14 +2675,13 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
 +  ** is Usenet article, because MIME for news is nonstandard feature.
 +  */
 +#endif
-+
  #ifdef MIXMASTER
    { "mix_entry_format", DT_STR,  R_NONE, UL &MixEntryFormat, UL "%4n %c %-16s %a" },
    /*
-@@ -1331,6 +1412,77 @@ struct option_t MuttVars[] = {
-    ** See also ``$$read_inc'' and ``$$write_inc''.
+@@ -1448,6 +1528,77 @@ struct option_t MuttVars[] = {
+    ** See also $$read_inc, $$write_inc and $$net_inc.
     */
- #endif  
+ #endif
 +#ifdef USE_NNTP
 +  { "news_cache_dir", DT_PATH, R_NONE, UL &NewsCacheDir, UL "~/.mutt" },
 +  /*
@@ -3147,7 +2756,7 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "pager",          DT_PATH, R_NONE, UL &Pager, UL "builtin" },
    /*
    ** .pp
-@@ -2141,6 +2293,16 @@ struct option_t MuttVars[] = {
+@@ -2331,6 +2482,16 @@ struct option_t MuttVars[] = {
    { "post_indent_str",  DT_SYN,  R_NONE, UL "post_indent_string", 0 },
    /*
    */
@@ -3164,9 +2773,9 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "postpone",               DT_QUAD, R_NONE, OPT_POSTPONE, M_ASKYES },
    /*
    ** .pp
-@@ -2497,6 +2659,28 @@ struct option_t MuttVars[] = {
+@@ -2725,6 +2886,28 @@ struct option_t MuttVars[] = {
    ** Command to use when spawning a subshell.  By default, the user's login
-   ** shell from /etc/passwd is used.
+   ** shell from \fC/etc/passwd\fP is used.
    */
 +#ifdef USE_NNTP
 +  { "save_unsubscribed",DT_BOOL, R_NONE, OPTSAVEUNSUB, 0 },
@@ -3193,8 +2802,8 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    { "sig_dashes",     DT_BOOL, R_NONE, OPTSIGDASHES, 1 },
    /*
    ** .pp
-@@ -3005,6 +3189,14 @@ struct option_t MuttVars[] = {
-   ** option does nothing: mutt will never write out the BCC header
+@@ -3275,6 +3458,14 @@ struct option_t MuttVars[] = {
+   ** option does nothing: mutt will never write out the ``Bcc:'' header
    ** in this case.
    */
 +#ifdef USE_NNTP
@@ -3208,9 +2817,20 @@ diff -udprP mutt-1.5.16.orig/init.h mutt-1.5.16/init.h
    /*--*/
    { NULL }
  };
-diff -udprP mutt-1.5.16.orig/mailbox.h mutt-1.5.16/mailbox.h
---- mutt-1.5.16.orig/mailbox.h 2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/mailbox.h      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/keymap.c mutt-1.5.19/keymap.c
+--- mutt-1.5.19.orig/keymap.c  2008-11-26 20:48:48.000000000 +0200
++++ mutt-1.5.19/keymap.c       2009-01-06 22:27:38.000000000 +0200
+@@ -654,7 +654,6 @@ void km_init (void)
+   km_bindkey ("<enter>", MENU_MAIN, OP_DISPLAY_MESSAGE);
+   km_bindkey ("x", MENU_PAGER, OP_EXIT);
+-  km_bindkey ("i", MENU_PAGER, OP_EXIT);
+   km_bindkey ("<backspace>", MENU_PAGER, OP_PREV_LINE);
+   km_bindkey ("<pagedown>", MENU_PAGER, OP_NEXT_PAGE);
+   km_bindkey ("<pageup>", MENU_PAGER, OP_PREV_PAGE);
+diff -udprP mutt-1.5.19.orig/mailbox.h mutt-1.5.19/mailbox.h
+--- mutt-1.5.19.orig/mailbox.h 2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/mailbox.h      2009-01-06 22:27:38.000000000 +0200
 @@ -74,6 +74,9 @@ int mx_is_imap (const char *);
  #ifdef USE_POP
  int mx_is_pop (const char *);
@@ -3221,10 +2841,10 @@ diff -udprP mutt-1.5.16.orig/mailbox.h mutt-1.5.16/mailbox.h
  
  int mx_access (const char*, int);
  int mx_check_empty (const char *);
-diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
---- mutt-1.5.16.orig/main.c    2007-04-10 23:53:08.000000000 +0300
-+++ mutt-1.5.16/main.c 2007-06-15 17:12:26.000000000 +0300
-@@ -56,6 +56,10 @@
+diff -udprP mutt-1.5.19.orig/main.c mutt-1.5.19/main.c
+--- mutt-1.5.19.orig/main.c    2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/main.c 2009-01-06 22:27:38.000000000 +0200
+@@ -60,6 +60,10 @@
  #include <stringprep.h>
  #endif
  
@@ -3235,7 +2855,7 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
  static const char *ReachingUs = N_("\
  To contact the developers, please mail to <mutt-dev@mutt.org>.\n\
  To report a bug, please visit http://bugs.mutt.org/.\n");
-@@ -127,6 +131,8 @@ options:\n\
+@@ -133,6 +137,8 @@ options:\n\
  "  -e <command>\tspecify a command to be executed after initialization\n\
    -f <file>\tspecify which mailbox to read\n\
    -F <file>\tspecify an alternate muttrc file\n\
@@ -3244,7 +2864,7 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
    -H <file>\tspecify a draft file to read header and body from\n\
    -i <file>\tspecify a file which Mutt should include in the body\n\
    -m <type>\tspecify a default mailbox type\n\
-@@ -253,6 +259,12 @@ static void show_version (void)
+@@ -255,6 +261,12 @@ static void show_version (void)
        "-USE_POP  "
  #endif
  
@@ -3257,7 +2877,7 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
  #ifdef USE_IMAP
          "+USE_IMAP  "
  #else
-@@ -521,6 +533,9 @@ static void start_curses (void)
+@@ -522,6 +534,9 @@ static void start_curses (void)
  #define M_NOSYSRC (1<<2)      /* -n */
  #define M_RO      (1<<3)      /* -R */
  #define M_SELECT  (1<<4)      /* -y */
@@ -3267,19 +2887,19 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
  
  int main (int argc, char **argv)
  {
-@@ -577,7 +592,11 @@ int main (int argc, char **argv)
-       break;
+@@ -594,7 +609,11 @@ int main (int argc, char **argv)
+         argv[nargc++] = argv[optind];
      }
  
 +#ifdef USE_NNTP
-+  while ((i = getopt (argc, argv, "A:a:b:F:f:c:Dd:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
++    if ((i = getopt (argc, argv, "+A:a:b:F:f:c:Dd:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
 +#else
-   while ((i = getopt (argc, argv, "A:a:b:F:f:c:Dd:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
+     if ((i = getopt (argc, argv, "+A:a:b:F:f:c:Dd:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
 +#endif
-     switch (i)
-     {
+       switch (i)
+       {
        case 'A':
-@@ -670,6 +689,20 @@ int main (int argc, char **argv)
+@@ -687,6 +706,20 @@ int main (int argc, char **argv)
        flags |= M_SELECT;
        break;
  
@@ -3300,7 +2920,7 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
        case 'z':
        flags |= M_IGNORE;
        break;
-@@ -947,6 +980,18 @@ int main (int argc, char **argv)
+@@ -974,6 +1007,18 @@ int main (int argc, char **argv)
      }
      else if (flags & M_SELECT)
      {
@@ -3319,7 +2939,7 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
        if (!Incoming) {
        mutt_endwin _("No incoming mailboxes defined.");
        exit (1);
-@@ -962,6 +1007,15 @@ int main (int argc, char **argv)
+@@ -989,6 +1034,15 @@ int main (int argc, char **argv)
  
      if (!folder[0])
        strfcpy (folder, NONULL(Spoolfile), sizeof (folder));
@@ -3335,10 +2955,10 @@ diff -udprP mutt-1.5.16.orig/main.c mutt-1.5.16/main.c
      mutt_expand_path (folder, sizeof (folder));
  
      mutt_str_replace (&CurrentFolder, folder);
-diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
---- mutt-1.5.16.orig/mutt.h    2007-04-11 06:14:01.000000000 +0300
-+++ mutt-1.5.16/mutt.h 2007-06-15 17:12:26.000000000 +0300
-@@ -243,6 +243,9 @@ enum
+diff -udprP mutt-1.5.19.orig/mutt.h mutt-1.5.19/mutt.h
+--- mutt-1.5.19.orig/mutt.h    2008-09-26 01:00:03.000000000 +0300
++++ mutt-1.5.19/mutt.h 2009-01-06 22:27:38.000000000 +0200
+@@ -223,6 +223,9 @@ enum
    M_PGP_KEY,
    M_XLABEL,
    M_MIMEATTACH,
@@ -3348,7 +2968,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    
    /* Options for Mailcap lookup */
    M_EDIT,
-@@ -298,6 +301,12 @@ enum
+@@ -278,6 +281,12 @@ enum
  #endif
    OPT_SUBJECT,
    OPT_VERIFYSIG,      /* verify PGP signatures */
@@ -3361,7 +2981,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
      
    /* THIS MUST BE THE LAST VALUE. */
    OPT_MAX
-@@ -313,6 +322,7 @@ enum
+@@ -293,6 +302,7 @@ enum
  #define SENDMAILX     (1<<6)
  #define SENDKEY               (1<<7)
  #define SENDRESEND    (1<<8)
@@ -3369,7 +2989,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
  
  /* flags to _mutt_select_file() */
  #define M_SEL_BUFFY   (1<<0)
-@@ -332,6 +342,8 @@ enum
+@@ -312,6 +322,8 @@ enum
    OPTASCIICHARS,
    OPTASKBCC,
    OPTASKCC,
@@ -3378,7 +2998,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    OPTATTACHSPLIT,
    OPTAUTOEDIT,
    OPTAUTOTAG,
-@@ -407,6 +419,9 @@ enum
+@@ -387,6 +399,9 @@ enum
    OPTMETOO,
    OPTMHPURGE,
    OPTMIMEFORWDECODE,
@@ -3388,7 +3008,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    OPTNARROWTREE,
    OPTPAGERSTOP,
    OPTPIPEDECODE,
-@@ -488,6 +503,16 @@ enum
+@@ -468,6 +483,16 @@ enum
    OPTPGPAUTOINLINE,
    OPTPGPREPLYINLINE,
  
@@ -3405,7 +3025,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    /* pseudo options */
  
    OPTAUXSORT,         /* (pseudo) using auxillary sort function */
-@@ -508,6 +533,7 @@ enum
+@@ -488,6 +513,7 @@ enum
    OPTSORTSUBTHREADS,  /* (pseudo) used when $sort_aux changes */
    OPTNEEDRESCORE,     /* (pseudo) set when the `score' command is used */
    OPTATTACHMSG,               /* (pseudo) used by attach-message */
@@ -3413,7 +3033,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    OPTKEEPQUIET,               /* (pseudo) shut up the message and refresh
                         *          functions while we are executing an
                         *          external program.
-@@ -518,6 +544,12 @@ enum
+@@ -498,6 +524,12 @@ enum
    OPTDONTHANDLEPGPKEYS,       /* (pseudo) used to extract PGP keys */
    OPTUNBUFFEREDINPUT,   /* (pseudo) don't use key buffer */
  
@@ -3426,7 +3046,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    OPTMAX
  };
  
-@@ -595,6 +627,13 @@ typedef struct envelope
+@@ -575,6 +607,13 @@ typedef struct envelope
    char *supersedes;
    char *date;
    char *x_label;
@@ -3440,7 +3060,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    BUFFER *spam;
    LIST *references;           /* message references (in reverse order) */
    LIST *in_reply_to;          /* in-reply-to header content */
-@@ -761,6 +800,9 @@ typedef struct header
+@@ -741,6 +780,9 @@ typedef struct header
    ENVELOPE *env;              /* envelope information */
    BODY *content;              /* list of MIME parts */
    char *path;
@@ -3450,7 +3070,7 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    
    char *tree;                 /* character string to print thread tree */
    struct thread *thread;
-@@ -776,7 +818,7 @@ typedef struct header
+@@ -756,7 +798,7 @@ typedef struct header
    int refno;                  /* message number on server */
  #endif
  
@@ -3459,9 +3079,9 @@ diff -udprP mutt-1.5.16.orig/mutt.h mutt-1.5.16/mutt.h
    void *data;                 /* driver-specific data */
  #endif
    
-diff -udprP mutt-1.5.16.orig/muttlib.c mutt-1.5.16/muttlib.c
---- mutt-1.5.16.orig/muttlib.c 2007-05-14 20:10:00.000000000 +0300
-+++ mutt-1.5.16/muttlib.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/muttlib.c mutt-1.5.19/muttlib.c
+--- mutt-1.5.19.orig/muttlib.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/muttlib.c      2009-01-06 22:27:38.000000000 +0200
 @@ -286,7 +286,7 @@ void mutt_free_header (HEADER **h)
  #ifdef MIXMASTER
    mutt_free_list (&(*h)->chain);
@@ -3485,7 +3105,7 @@ diff -udprP mutt-1.5.16.orig/muttlib.c mutt-1.5.16/muttlib.c
  
    mutt_buffer_free (&(*p)->spam);
  
-@@ -1394,6 +1401,14 @@ int mutt_save_confirm (const char *s, st
+@@ -1455,6 +1462,14 @@ int mutt_save_confirm (const char *s, st
      }
    }
  
@@ -3500,10 +3120,10 @@ diff -udprP mutt-1.5.16.orig/muttlib.c mutt-1.5.16/muttlib.c
    if (stat (s, st) != -1)
    {
      if (magic == -1)
-diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
---- mutt-1.5.16.orig/mx.c      2007-04-03 20:41:14.000000000 +0300
-+++ mutt-1.5.16/mx.c   2007-06-15 17:12:26.000000000 +0300
-@@ -348,6 +348,22 @@ int mx_is_pop (const char *p)
+diff -udprP mutt-1.5.19.orig/mx.c mutt-1.5.19/mx.c
+--- mutt-1.5.19.orig/mx.c      2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/mx.c   2009-01-06 22:27:38.000000000 +0200
+@@ -343,6 +343,22 @@ int mx_is_pop (const char *p)
  }
  #endif
  
@@ -3526,7 +3146,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
  int mx_get_magic (const char *path)
  {
    struct stat st;
-@@ -365,6 +381,11 @@ int mx_get_magic (const char *path)
+@@ -360,6 +376,11 @@ int mx_get_magic (const char *path)
      return M_POP;
  #endif /* USE_POP */
  
@@ -3538,7 +3158,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    if (stat (path, &st) == -1)
    {
      dprint (1, (debugfile, "mx_get_magic(): unable to stat %s: %s (errno %d).\n",
-@@ -704,6 +725,12 @@ CONTEXT *mx_open_mailbox (const char *pa
+@@ -699,6 +720,12 @@ CONTEXT *mx_open_mailbox (const char *pa
        break;
  #endif /* USE_POP */
  
@@ -3551,7 +3171,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
      default:
        rc = -1;
        break;
-@@ -796,6 +823,12 @@ static int sync_mailbox (CONTEXT *ctx, i
+@@ -791,6 +818,12 @@ static int sync_mailbox (CONTEXT *ctx, i
        rc = pop_sync_mailbox (ctx, index_hint);
        break;
  #endif /* USE_POP */
@@ -3564,7 +3184,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    }
  
  #if 0
-@@ -822,6 +855,16 @@ int mx_close_mailbox (CONTEXT *ctx, int 
+@@ -817,6 +850,16 @@ int mx_close_mailbox (CONTEXT *ctx, int 
  
    ctx->closing = 1;
  
@@ -3581,7 +3201,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
    if (ctx->readonly || ctx->dontwrite)
    {
      /* mailbox is readonly or we don't want to write */
-@@ -1359,6 +1402,11 @@ int mx_check_mailbox (CONTEXT *ctx, int 
+@@ -1354,6 +1397,11 @@ int mx_check_mailbox (CONTEXT *ctx, int 
        case M_POP:
        return (pop_check_mailbox (ctx, index_hint));
  #endif /* USE_POP */
@@ -3593,7 +3213,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
      }
    }
  
-@@ -1419,6 +1467,15 @@ MESSAGE *mx_open_message (CONTEXT *ctx, 
+@@ -1414,6 +1462,15 @@ MESSAGE *mx_open_message (CONTEXT *ctx, 
      }
  #endif /* USE_POP */
  
@@ -3609,7 +3229,7 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
      default:
        dprint (1, (debugfile, "mx_open_message(): function not implemented for mailbox type %d.\n", ctx->magic));
        FREE (&msg);
-@@ -1500,6 +1557,9 @@ int mx_close_message (MESSAGE **msg)
+@@ -1495,6 +1552,9 @@ int mx_close_message (MESSAGE **msg)
  #ifdef USE_POP
        || (*msg)->magic == M_POP
  #endif
@@ -3619,9 +3239,9 @@ diff -udprP mutt-1.5.16.orig/mx.c mutt-1.5.16/mx.c
        )
    {
      r = safe_fclose (&(*msg)->fp);
-diff -udprP mutt-1.5.16.orig/mx.h mutt-1.5.16/mx.h
---- mutt-1.5.16.orig/mx.h      2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/mx.h   2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/mx.h mutt-1.5.19/mx.h
+--- mutt-1.5.19.orig/mx.h      2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/mx.h   2009-01-06 22:27:38.000000000 +0200
 @@ -40,6 +40,9 @@ enum
  #ifdef USE_POP
    , M_POP
@@ -3632,14 +3252,14 @@ diff -udprP mutt-1.5.16.orig/mx.h mutt-1.5.16/mx.h
  };
  
  WHERE short DefaultMagic INITVAL (M_MBOX);
-diff -udprP mutt-1.5.16.orig/newsrc.c mutt-1.5.16/newsrc.c
---- mutt-1.5.16.orig/newsrc.c  1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/newsrc.c       2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/newsrc.c mutt-1.5.19/newsrc.c
+--- mutt-1.5.19.orig/newsrc.c  1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/newsrc.c       2009-01-06 22:27:38.000000000 +0200
 @@ -0,0 +1,1170 @@
 +/*
 + * Copyright (C) 1998 Brandon Long <blong@fiction.net>
 + * Copyright (C) 1999 Andrej Gritsenko <andrej@lucky.net>
-+ * Copyright (C) 2000-2007 Vsevolod Volkov <vvv@mutt.org.ua>
++ * Copyright (C) 2000-2009 Vsevolod Volkov <vvv@mutt.org.ua>
 + * 
 + *     This program is free software; you can redistribute it and/or modify
 + *     it under the terms of the GNU General Public License as published by
@@ -3903,7 +3523,7 @@ diff -udprP mutt-1.5.16.orig/newsrc.c mutt-1.5.16/newsrc.c
 +}
 +
 +const char *
-+nntp_format_str (char *dest, size_t destlen, char op, const char *src,
++nntp_format_str (char *dest, size_t destlen, size_t col, char op, const char *src,
 +              const char *fmt, const char *ifstring, const char *elsestring,
 +              unsigned long data, format_flag flags)
 +{
@@ -4638,7 +4258,7 @@ diff -udprP mutt-1.5.16.orig/newsrc.c mutt-1.5.16/newsrc.c
 +          tm->tm_sec, h->env->message_id);
 +      fputs (buf, f);
 +      if (h->env->references)
-+      mutt_write_references (h->env->references, f);
++      mutt_write_references (h->env->references, f, 10);
 +      snprintf (buf, sizeof(buf), "\t%ld\t%d\tXref: %s\n", (long int) h->content->length,
 +          (int) h->lines, NONULL(h->env->xref));
 +      if (fputs (buf, f) == EOF)
@@ -4806,9 +4426,9 @@ diff -udprP mutt-1.5.16.orig/newsrc.c mutt-1.5.16/newsrc.c
 +    }
 +  }
 +}
-diff -udprP mutt-1.5.16.orig/nntp.c mutt-1.5.16/nntp.c
---- mutt-1.5.16.orig/nntp.c    1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/nntp.c 2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/nntp.c mutt-1.5.19/nntp.c
+--- mutt-1.5.19.orig/nntp.c    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/nntp.c 2009-01-06 22:27:38.000000000 +0200
 @@ -0,0 +1,1588 @@
 +/*
 + * Copyright (C) 1998 Brandon Long <blong@fiction.net>
@@ -6398,9 +6018,9 @@ diff -udprP mutt-1.5.16.orig/nntp.c mutt-1.5.16/nntp.c
 +  FREE (&cc.child);
 +  return ret;
 +}
-diff -udprP mutt-1.5.16.orig/nntp.h mutt-1.5.16/nntp.h
---- mutt-1.5.16.orig/nntp.h    1970-01-01 03:00:00.000000000 +0300
-+++ mutt-1.5.16/nntp.h 2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/nntp.h mutt-1.5.19/nntp.h
+--- mutt-1.5.19.orig/nntp.h    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.19/nntp.h 2009-01-06 22:27:38.000000000 +0200
 @@ -0,0 +1,136 @@
 +/*
 + * Copyright (C) 1998 Brandon Long <blong@fiction.net>
@@ -6532,16 +6152,16 @@ diff -udprP mutt-1.5.16.orig/nntp.h mutt-1.5.16/nntp.h
 +void nntp_buffy (char *);
 +void nntp_expand_path (char *, size_t, ACCOUNT *);
 +void nntp_logout_all ();
-+const char *nntp_format_str (char *, size_t, char, const char *, const char *,
++const char *nntp_format_str (char *, size_t, size_t, char, const char *, const char *,
 +              const char *, const char *, unsigned long, format_flag);
 +
 +NNTP_SERVER *CurrentNewsSrv INITVAL (NULL);
 +
 +#endif /* _NNTP_H_ */
-diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
---- mutt-1.5.16.orig/pager.c   2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/pager.c        2007-06-15 17:12:26.000000000 +0300
-@@ -1055,6 +1055,11 @@ fill_buffer (FILE *f, LOFF_T *last_pos, 
+diff -udprP mutt-1.5.19.orig/pager.c mutt-1.5.19/pager.c
+--- mutt-1.5.19.orig/pager.c   2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/pager.c        2009-01-06 22:27:38.000000000 +0200
+@@ -1048,6 +1048,11 @@ fill_buffer (FILE *f, LOFF_T *last_pos, 
    return b_read;
  }
  
@@ -6553,7 +6173,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
  
  static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
                        int flags, ansi_attr *pa, int cnt,
-@@ -1490,6 +1495,16 @@ static struct mapping_t PagerHelpExtra[]
+@@ -1489,6 +1494,16 @@ static struct mapping_t PagerHelpExtra[]
    { NULL,     0 }
  };
  
@@ -6570,7 +6190,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
  
  
  /* This pager is actually not so simple as it once was.  It now operates in
-@@ -1531,6 +1546,10 @@ mutt_pager (const char *banner, const ch
+@@ -1530,6 +1545,10 @@ mutt_pager (const char *banner, const ch
    int old_PagerIndexLines;            /* some people want to resize it
                                         * while inside the pager... */
  
@@ -6581,7 +6201,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
    if (!(flags & M_SHOWCOLOR))
      flags |= M_SHOWFLAT;
  
-@@ -1570,7 +1589,11 @@ mutt_pager (const char *banner, const ch
+@@ -1569,7 +1588,11 @@ mutt_pager (const char *banner, const ch
    if (IsHeader (extra))
    {
      strfcpy (tmphelp, helpstr, sizeof (tmphelp));
@@ -6594,7 +6214,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
      snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer);
    }
    if (!InHelp)
-@@ -2398,6 +2421,15 @@ search_next:
+@@ -2407,6 +2430,15 @@ search_next:
        CHECK_READONLY;
        CHECK_ACL(M_ACL_WRITE, "flag message");
  
@@ -6610,7 +6230,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
        mutt_set_flag (Context, extra->hdr, M_FLAG, !extra->hdr->flagged);
        redraw = REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
-@@ -2431,6 +2463,60 @@ search_next:
+@@ -2440,6 +2472,60 @@ search_next:
        redraw = REDRAW_FULL;
        break;
  
@@ -6671,7 +6291,7 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
        case OP_REPLY:
        CHECK_MODE(IsHeader (extra) || IsMsgAttach (extra));
          CHECK_ATTACH;      
-@@ -2477,7 +2563,7 @@ search_next:
+@@ -2486,7 +2572,7 @@ search_next:
          CHECK_ATTACH;
          if (IsMsgAttach (extra))
          mutt_attach_forward (extra->fp, extra->hdr, extra->idx,
@@ -6680,9 +6300,9 @@ diff -udprP mutt-1.5.16.orig/pager.c mutt-1.5.16/pager.c
          else
          ci_send_message (SENDFORWARD, NULL, NULL, extra->ctx, extra->hdr);
        redraw = REDRAW_FULL;
-diff -udprP mutt-1.5.16.orig/parse.c mutt-1.5.16/parse.c
---- mutt-1.5.16.orig/parse.c   2007-04-02 00:58:56.000000000 +0300
-+++ mutt-1.5.16/parse.c        2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/parse.c mutt-1.5.19/parse.c
+--- mutt-1.5.19.orig/parse.c   2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/parse.c        2009-01-06 22:27:38.000000000 +0200
 @@ -89,7 +89,7 @@ char *mutt_read_rfc822_line (FILE *f, ch
    /* not reached */
  }
@@ -6691,8 +6311,8 @@ diff -udprP mutt-1.5.16.orig/parse.c mutt-1.5.16/parse.c
 +LIST *mutt_parse_references (char *s, int in_reply_to)
  {
    LIST *t, *lst = NULL;
-   int m, n = 0;
-@@ -1068,6 +1068,17 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+   char *m;
+@@ -1067,6 +1067,17 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
        e->from = rfc822_parse_adrlist (e->from, p);
        matched = 1;
      }
@@ -6710,7 +6330,7 @@ diff -udprP mutt-1.5.16.orig/parse.c mutt-1.5.16/parse.c
      break;
      
      case 'i':
-@@ -1152,6 +1163,27 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+@@ -1151,6 +1162,27 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
      }
      break;
      
@@ -6738,7 +6358,7 @@ diff -udprP mutt-1.5.16.orig/parse.c mutt-1.5.16/parse.c
      case 'r':
      if (!ascii_strcasecmp (line + 1, "eferences"))
      {
-@@ -1260,6 +1292,20 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+@@ -1259,6 +1291,20 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
        e->x_label = safe_strdup(p);
        matched = 1;
      }
@@ -6759,9 +6379,9 @@ diff -udprP mutt-1.5.16.orig/parse.c mutt-1.5.16/parse.c
      
      default:
      break;
-diff -udprP mutt-1.5.16.orig/pattern.c mutt-1.5.16/pattern.c
---- mutt-1.5.16.orig/pattern.c 2007-04-08 02:36:55.000000000 +0300
-+++ mutt-1.5.16/pattern.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/pattern.c mutt-1.5.19/pattern.c
+--- mutt-1.5.19.orig/pattern.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/pattern.c      2009-01-06 22:27:38.000000000 +0200
 @@ -91,6 +91,9 @@ Flags[] =
    { 'U', M_UNREAD,            0,              NULL },
    { 'v', M_COLLAPSED,         0,              NULL },
@@ -6772,7 +6392,7 @@ diff -udprP mutt-1.5.16.orig/pattern.c mutt-1.5.16/pattern.c
    { 'x', M_REFERENCE,         0,              eat_regexp },
    { 'X', M_MIMEATTACH,                0,              eat_range },
    { 'y', M_XLABEL,            0,              eat_regexp },
-@@ -1214,6 +1217,10 @@ mutt_pattern_exec (struct pattern_t *pat
+@@ -1201,6 +1204,10 @@ mutt_pattern_exec (struct pattern_t *pat
        }
      case M_UNREFERENCED:
        return (pat->not ^ (h->thread && !h->thread->child));
@@ -6791,10 +6411,10 @@ diff -udprP mutt-1.5.16.orig/pattern.c mutt-1.5.16/pattern.c
    if (mutt_get_field (prompt, buf, sizeof (buf), M_PATTERN | M_CLEAR) != 0 || !buf[0])
      return (-1);
  
-diff -udprP mutt-1.5.16.orig/po/POTFILES.in mutt-1.5.16/po/POTFILES.in
---- mutt-1.5.16.orig/po/POTFILES.in    2007-04-02 00:58:57.000000000 +0300
-+++ mutt-1.5.16/po/POTFILES.in 2007-06-15 17:12:26.000000000 +0300
-@@ -47,6 +47,8 @@ mutt_ssl_gnutls.c
+diff -udprP mutt-1.5.19.orig/po/POTFILES.in mutt-1.5.19/po/POTFILES.in
+--- mutt-1.5.19.orig/po/POTFILES.in    2008-03-19 22:07:57.000000000 +0200
++++ mutt-1.5.19/po/POTFILES.in 2009-01-06 22:27:38.000000000 +0200
+@@ -46,6 +46,8 @@ mutt_ssl_gnutls.c
  mutt_tunnel.c
  muttlib.c
  mx.c
@@ -6803,10 +6423,10 @@ diff -udprP mutt-1.5.16.orig/po/POTFILES.in mutt-1.5.16/po/POTFILES.in
  pager.c
  parse.c
  pattern.c
-diff -udprP mutt-1.5.16.orig/postpone.c mutt-1.5.16/postpone.c
---- mutt-1.5.16.orig/postpone.c        2007-04-02 00:58:57.000000000 +0300
-+++ mutt-1.5.16/postpone.c     2007-06-15 17:12:26.000000000 +0300
-@@ -126,15 +126,26 @@ int mutt_num_postponed (int force)
+diff -udprP mutt-1.5.19.orig/postpone.c mutt-1.5.19/postpone.c
+--- mutt-1.5.19.orig/postpone.c        2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/postpone.c     2009-01-06 22:27:38.000000000 +0200
+@@ -124,15 +124,26 @@ int mutt_num_postponed (int force)
  
    if (LastModify < st.st_mtime)
    {
@@ -6833,10 +6453,10 @@ diff -udprP mutt-1.5.16.orig/postpone.c mutt-1.5.16/postpone.c
    }
  
    return (PostCount);
-diff -udprP mutt-1.5.16.orig/protos.h mutt-1.5.16/protos.h
---- mutt-1.5.16.orig/protos.h  2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/protos.h       2007-06-15 17:12:26.000000000 +0300
-@@ -113,6 +113,7 @@ HASH *mutt_make_id_hash (CONTEXT *);
+diff -udprP mutt-1.5.19.orig/protos.h mutt-1.5.19/protos.h
+--- mutt-1.5.19.orig/protos.h  2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/protos.h       2009-01-06 22:27:38.000000000 +0200
+@@ -115,6 +115,7 @@ HASH *mutt_make_id_hash (CONTEXT *);
  HASH *mutt_make_subj_hash (CONTEXT *);
  
  LIST *mutt_make_references(ENVELOPE *e);
@@ -6844,18 +6464,10 @@ diff -udprP mutt-1.5.16.orig/protos.h mutt-1.5.16/protos.h
  
  char *mutt_read_rfc822_line (FILE *, char *, size_t *);
  ENVELOPE *mutt_read_rfc822_header (FILE *, HEADER *, short, short);
-@@ -256,6 +257,7 @@ void mutt_unblock_signals_system (int);
- void mutt_update_encoding (BODY *a);
- void mutt_version (void);
- void mutt_view_attachments (HEADER *);
-+void mutt_write_references (LIST *, FILE *);
- void mutt_write_address_list (ADDRESS *adr, FILE *fp, int linelen, int display);
- void mutt_set_virtual (CONTEXT *);
-diff -udprP mutt-1.5.16.orig/recvattach.c mutt-1.5.16/recvattach.c
---- mutt-1.5.16.orig/recvattach.c      2007-04-16 02:56:26.000000000 +0300
-+++ mutt-1.5.16/recvattach.c   2007-06-15 17:12:26.000000000 +0300
-@@ -1088,6 +1088,15 @@ void mutt_view_attachments (HEADER *hdr)
+diff -udprP mutt-1.5.19.orig/recvattach.c mutt-1.5.19/recvattach.c
+--- mutt-1.5.19.orig/recvattach.c      2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/recvattach.c   2009-01-06 22:27:38.000000000 +0200
+@@ -1107,6 +1107,15 @@ void mutt_view_attachments (HEADER *hdr)
        }
  #endif
  
@@ -6871,7 +6483,7 @@ diff -udprP mutt-1.5.16.orig/recvattach.c mutt-1.5.16/recvattach.c
          if (WithCrypto && hdr->security & ~PGP_TRADITIONAL_CHECKED)
          {
          mutt_message _(
-@@ -1179,10 +1188,33 @@ void mutt_view_attachments (HEADER *hdr)
+@@ -1198,10 +1207,33 @@ void mutt_view_attachments (HEADER *hdr)
        case OP_FORWARD_MESSAGE:
          CHECK_ATTACH;
          mutt_attach_forward (fp, hdr, idx, idxlen,
@@ -6906,10 +6518,10 @@ diff -udprP mutt-1.5.16.orig/recvattach.c mutt-1.5.16/recvattach.c
        case OP_REPLY:
        case OP_GROUP_REPLY:
        case OP_LIST_REPLY:
-diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
---- mutt-1.5.16.orig/recvcmd.c 2007-04-02 00:58:57.000000000 +0300
-+++ mutt-1.5.16/recvcmd.c      2007-06-15 17:12:26.000000000 +0300
-@@ -377,7 +377,7 @@ static BODY ** copy_problematic_attachme
+diff -udprP mutt-1.5.19.orig/recvcmd.c mutt-1.5.19/recvcmd.c
+--- mutt-1.5.19.orig/recvcmd.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/recvcmd.c      2009-01-06 22:27:38.000000000 +0200
+@@ -373,7 +373,7 @@ static BODY ** copy_problematic_attachme
  static void attach_forward_bodies (FILE * fp, HEADER * hdr,
                                   ATTACHPTR ** idx, short idxlen,
                                   BODY * cur,
@@ -6918,7 +6530,7 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
  {
    short i;
    short mime_fwd_all = 0;
-@@ -523,7 +523,7 @@ _("Can't decode all tagged attachments. 
+@@ -519,7 +519,7 @@ _("Can't decode all tagged attachments. 
    tmpfp = NULL;
  
    /* now that we have the template, send it. */
@@ -6927,7 +6539,7 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
    return;
    
    bail:
-@@ -550,7 +550,7 @@ _("Can't decode all tagged attachments. 
+@@ -546,7 +546,7 @@ _("Can't decode all tagged attachments. 
   */
  
  static void attach_forward_msgs (FILE * fp, HEADER * hdr, 
@@ -6936,7 +6548,7 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
  {
    HEADER *curhdr = NULL;
    HEADER *tmphdr;
-@@ -655,23 +655,23 @@ static void attach_forward_msgs (FILE * 
+@@ -651,23 +651,23 @@ static void attach_forward_msgs (FILE * 
    else
      mutt_free_header (&tmphdr);
  
@@ -6964,7 +6576,7 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
    }
  }
  
-@@ -729,28 +729,40 @@ attach_reply_envelope_defaults (ENVELOPE
+@@ -725,28 +725,40 @@ attach_reply_envelope_defaults (ENVELOPE
      return -1;
    }
  
@@ -7019,7 +6631,7 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
    mutt_make_misc_reply_headers (env, Context, curhdr, curenv);
  
    if (parent)
-@@ -811,6 +823,13 @@ void mutt_attach_reply (FILE * fp, HEADE
+@@ -807,6 +819,13 @@ void mutt_attach_reply (FILE * fp, HEADE
    char prefix[SHORT_STRING];
    int rc;
    
@@ -7033,9 +6645,9 @@ diff -udprP mutt-1.5.16.orig/recvcmd.c mutt-1.5.16/recvcmd.c
    if (check_all_msg (idx, idxlen, cur, 0) == -1)
    {
      nattach = count_tagged (idx, idxlen);
-diff -udprP mutt-1.5.16.orig/rfc1524.c mutt-1.5.16/rfc1524.c
---- mutt-1.5.16.orig/rfc1524.c 2007-04-02 00:58:58.000000000 +0300
-+++ mutt-1.5.16/rfc1524.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/rfc1524.c mutt-1.5.19/rfc1524.c
+--- mutt-1.5.19.orig/rfc1524.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/rfc1524.c      2009-01-06 22:27:38.000000000 +0200
 @@ -569,13 +569,13 @@ int rfc1524_expand_filename (char *namet
   * safe_fopen().
   */
@@ -7061,9 +6673,9 @@ diff -udprP mutt-1.5.16.orig/rfc1524.c mutt-1.5.16/rfc1524.c
 +{
 +  return _mutt_rename_file (oldfile, newfile, 0);
 +}
-diff -udprP mutt-1.5.16.orig/rfc1524.h mutt-1.5.16/rfc1524.h
---- mutt-1.5.16.orig/rfc1524.h 2007-04-02 00:58:58.000000000 +0300
-+++ mutt-1.5.16/rfc1524.h      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/rfc1524.h mutt-1.5.19/rfc1524.h
+--- mutt-1.5.19.orig/rfc1524.h 2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/rfc1524.h      2009-01-06 22:27:38.000000000 +0200
 @@ -40,5 +40,6 @@ int rfc1524_expand_command (BODY *, char
  int rfc1524_expand_filename (char *, char *, char *, size_t);
  int rfc1524_mailcap_lookup (BODY *, char *, rfc1524_entry *, int);
@@ -7071,21 +6683,22 @@ diff -udprP mutt-1.5.16.orig/rfc1524.h mutt-1.5.16/rfc1524.h
 +int _mutt_rename_file (char *, char *, int);
  
  #endif /* _RFC1524_H */
-diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
---- mutt-1.5.16.orig/send.c    2007-04-10 07:34:53.000000000 +0300
-+++ mutt-1.5.16/send.c 2007-06-15 17:12:26.000000000 +0300
-@@ -45,6 +45,10 @@
+diff -udprP mutt-1.5.19.orig/send.c mutt-1.5.19/send.c
+--- mutt-1.5.19.orig/send.c    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/send.c 2009-01-06 22:27:38.000000000 +0200
+@@ -44,6 +44,11 @@
  #include <sys/types.h>
  #include <utime.h>
  
 +#ifdef USE_NNTP
 +#include "nntp.h"
++#include "mx.h"
 +#endif
 +
  #ifdef MIXMASTER
  #include "remailer.h"
  #endif
-@@ -214,17 +218,51 @@ static int edit_address (ADDRESS **a, /*
+@@ -213,17 +218,51 @@ static int edit_address (ADDRESS **a, /*
    return 0;
  }
  
@@ -7144,7 +6757,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
  
    if (en->subject)
    {
-@@ -260,6 +298,14 @@ static int edit_envelope (ENVELOPE *en)
+@@ -259,6 +298,14 @@ static int edit_envelope (ENVELOPE *en)
    return 0;
  }
  
@@ -7159,7 +6772,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
  static void process_user_recips (ENVELOPE *env)
  {
    LIST *uh = UserHeader;
-@@ -272,6 +318,14 @@ static void process_user_recips (ENVELOP
+@@ -271,6 +318,14 @@ static void process_user_recips (ENVELOP
        env->cc = rfc822_parse_adrlist (env->cc, uh->data + 3);
      else if (ascii_strncasecmp ("bcc:", uh->data, 4) == 0)
        env->bcc = rfc822_parse_adrlist (env->bcc, uh->data + 4);
@@ -7174,7 +6787,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
    }
  }
  
-@@ -302,6 +356,12 @@ static void process_user_header (ENVELOP
+@@ -309,6 +364,12 @@ static void process_user_header (ENVELOP
      else if (ascii_strncasecmp ("to:", uh->data, 3) != 0 &&
             ascii_strncasecmp ("cc:", uh->data, 3) != 0 &&
             ascii_strncasecmp ("bcc:", uh->data, 4) != 0 &&
@@ -7187,7 +6800,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
             ascii_strncasecmp ("subject:", uh->data, 8) != 0)
      {
        if (last)
-@@ -645,6 +705,10 @@ void mutt_add_to_reference_headers (ENVE
+@@ -652,6 +713,10 @@ void mutt_add_to_reference_headers (ENVE
    if (pp) *pp = p;
    if (qq) *qq = q;
    
@@ -7198,7 +6811,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
  }
  
  static void 
-@@ -701,6 +765,16 @@ envelope_defaults (ENVELOPE *env, CONTEX
+@@ -708,6 +773,16 @@ envelope_defaults (ENVELOPE *env, CONTEX
  
    if (flags & SENDREPLY)
    {
@@ -7215,7 +6828,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
      if (tag)
      {
        HEADER *h;
-@@ -847,7 +921,18 @@ void mutt_set_followup_to (ENVELOPE *e)
+@@ -854,7 +929,18 @@ void mutt_set_followup_to (ENVELOPE *e)
     * it hasn't already been set
     */
  
@@ -7235,7 +6848,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
    {
      if (mutt_is_list_cc (0, e->to, e->cc))
      {
-@@ -1008,6 +1093,9 @@ static int send_message (HEADER *msg)
+@@ -1015,6 +1101,9 @@ static int send_message (HEADER *msg)
  #endif
  
  #if USE_SMTP
@@ -7245,7 +6858,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
    if (SmtpUrl)
        return mutt_smtp_send (msg->env->from, msg->env->to, msg->env->cc,
                               msg->env->bcc, tempfile,
-@@ -1100,6 +1188,13 @@ ci_send_message (int flags,             /* send mod
+@@ -1107,6 +1196,13 @@ ci_send_message (int flags,             /* send mod
  
    int rv = -1;
    
@@ -7259,7 +6872,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
    if (!flags && !msg && quadoption (OPT_RECALL) != M_NO &&
        mutt_num_postponed (1))
    {
-@@ -1130,6 +1225,22 @@ ci_send_message (int flags,             /* send mod
+@@ -1137,6 +1233,22 @@ ci_send_message (int flags,             /* send mod
      {
        if ((flags = mutt_get_postponed (ctx, msg, &cur, fcc, sizeof (fcc))) < 0)
        goto cleanup;
@@ -7282,7 +6895,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
      }
  
      if (flags & (SENDPOSTPONED|SENDRESEND))
-@@ -1237,11 +1348,16 @@ ci_send_message (int flags,            /* send mod
+@@ -1248,11 +1360,16 @@ ci_send_message (int flags,            /* send mod
      if (flags & SENDREPLY)
        mutt_fix_reply_recipients (msg->env);
  
@@ -7300,7 +6913,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
        goto cleanup;
      }
  
-@@ -1495,6 +1611,11 @@ main_loop:
+@@ -1509,6 +1626,11 @@ main_loop:
      if (i == -1)
      {
        /* abort */
@@ -7312,7 +6925,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
        mutt_message _("Mail not sent.");
        goto cleanup;
      }
-@@ -1527,6 +1648,9 @@ main_loop:
+@@ -1541,6 +1663,9 @@ main_loop:
      }
    }
  
@@ -7322,7 +6935,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
    if (!msg->env->to && !msg->env->cc && !msg->env->bcc)
    {
      if (! (flags & SENDBATCH))
-@@ -1559,6 +1683,19 @@ main_loop:
+@@ -1573,6 +1698,19 @@ main_loop:
        mutt_error _("No subject specified.");
      goto main_loop;
    }
@@ -7342,7 +6955,7 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
  
    if (msg->content->next)
      msg->content = mutt_make_multipart (msg->content);
-@@ -1764,7 +1901,12 @@ full_fcc:
+@@ -1778,7 +1916,12 @@ full_fcc:
      }
    }
    else if (!option (OPTNOCURSES) && ! (flags & SENDMAILX))
@@ -7356,9 +6969,9 @@ diff -udprP mutt-1.5.16.orig/send.c mutt-1.5.16/send.c
  
    if (WithCrypto && (msg->security & ENCRYPT))
      FREE (&pgpkeylist);
-diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
---- mutt-1.5.16.orig/sendlib.c 2007-06-10 01:12:38.000000000 +0300
-+++ mutt-1.5.16/sendlib.c      2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/sendlib.c mutt-1.5.19/sendlib.c
+--- mutt-1.5.19.orig/sendlib.c 2009-01-04 01:27:11.000000000 +0200
++++ mutt-1.5.19/sendlib.c      2009-01-06 22:27:38.000000000 +0200
 @@ -45,6 +45,10 @@
  #include <sys/wait.h>
  #include <fcntl.h>
@@ -7370,16 +6983,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
  #ifdef HAVE_SYSEXITS_H
  #include <sysexits.h>
  #else /* Make sure EX_OK is defined <philiph@pobox.com> */
-@@ -1525,7 +1529,7 @@ void mutt_write_address_list (ADDRESS *a
- /* need to write the list in reverse because they are stored in reverse order
-  * when parsed to speed up threading
-  */
--static void write_references (LIST *r, FILE *f)
-+void mutt_write_references (LIST *r, FILE *f)
- {
-   LIST **ref = NULL;
-   int refcnt = 0, refmax = 0;
-@@ -1750,6 +1754,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+@@ -1748,6 +1752,9 @@ int mutt_write_rfc822_header (FILE *fp, 
    LIST *tmp = env->userhdrs;
    int has_agent = 0; /* user defined user-agent header field exists */
    
@@ -7389,7 +6993,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    if (mode == 0 && !privacy)
      fputs (mutt_make_date (buffer, sizeof(buffer)), fp);
  
-@@ -1776,6 +1783,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+@@ -1774,6 +1781,9 @@ int mutt_write_rfc822_header (FILE *fp, 
      mutt_write_address_list (env->to, fp, 4, 0);
    }
    else if (mode > 0)
@@ -7399,7 +7003,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
      fputs ("To: \n", fp);
  
    if (env->cc)
-@@ -1784,6 +1794,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+@@ -1782,6 +1792,9 @@ int mutt_write_rfc822_header (FILE *fp, 
      mutt_write_address_list (env->cc, fp, 4, 0);
    }
    else if (mode > 0)
@@ -7409,7 +7013,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
      fputs ("Cc: \n", fp);
  
    if (env->bcc)
-@@ -1795,8 +1808,28 @@ int mutt_write_rfc822_header (FILE *fp, 
+@@ -1793,8 +1806,28 @@ int mutt_write_rfc822_header (FILE *fp, 
      }
    }
    else if (mode > 0)
@@ -7438,7 +7042,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    if (env->subject)
      mutt_write_one_header (fp, "Subject", env->subject, NULL, 0);
    else if (mode == 1)
-@@ -1815,6 +1848,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+@@ -1813,6 +1846,9 @@ int mutt_write_rfc822_header (FILE *fp, 
      fputs ("Reply-To: \n", fp);
  
    if (env->mail_followup_to)
@@ -7448,25 +7052,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    {
      fputs ("Mail-Followup-To: ", fp);
      mutt_write_address_list (env->mail_followup_to, fp, 18, 0);
-@@ -1825,7 +1861,7 @@ int mutt_write_rfc822_header (FILE *fp, 
-     if (env->references)
-     {
-       fputs ("References:", fp);
--      write_references (env->references, fp);
-+      mutt_write_references (env->references, fp);
-       fputc('\n', fp);
-     }
-@@ -1837,7 +1873,7 @@ int mutt_write_rfc822_header (FILE *fp, 
-   if (env->in_reply_to)
-   {
-     fputs ("In-Reply-To:", fp);
--    write_references (env->in_reply_to, fp);
-+    mutt_write_references (env->in_reply_to, fp);
-     fputc ('\n', fp);
-   }
-   
-@@ -2153,11 +2189,30 @@ mutt_invoke_sendmail (ADDRESS *from,   /* 
+@@ -2151,11 +2187,30 @@ mutt_invoke_sendmail (ADDRESS *from,   /* 
                 const char *msg, /* file containing message */
                 int eightbit) /* message contains 8bit chars */
  {
@@ -7498,7 +7084,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    ps = s;
    i = 0;
    while ((ps = strtok (ps, " ")))
-@@ -2181,6 +2236,10 @@ mutt_invoke_sendmail (ADDRESS *from,    /* 
+@@ -2179,6 +2234,10 @@ mutt_invoke_sendmail (ADDRESS *from,    /* 
      i++;
    }
  
@@ -7509,7 +7095,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    if (eightbit && option (OPTUSE8BITMIME))
      args = add_option (args, &argslen, &argsmax, "-B8BITMIME");
  
-@@ -2212,6 +2271,9 @@ mutt_invoke_sendmail (ADDRESS *from,     /* 
+@@ -2210,6 +2269,9 @@ mutt_invoke_sendmail (ADDRESS *from,     /* 
    args = add_args (args, &argslen, &argsmax, to);
    args = add_args (args, &argslen, &argsmax, cc);
    args = add_args (args, &argslen, &argsmax, bcc);
@@ -7519,8 +7105,8 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
  
    if (argslen == argsmax)
      safe_realloc (&args, sizeof (char *) * (++argsmax));
-@@ -2344,6 +2406,9 @@ void mutt_prepare_envelope (ENVELOPE *en
-   rfc2047_encode_adrlist (env->reply_to, "Reply-To");
+@@ -2290,6 +2352,9 @@ void mutt_prepare_envelope (ENVELOPE *en
+   rfc2047_encode_string (&env->x_label);
  
    if (env->subject)
 +#ifdef USE_NNTP
@@ -7529,7 +7115,7 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    {
      rfc2047_encode_string (&env->subject);
    }
-@@ -2449,6 +2514,10 @@ int mutt_bounce_message (FILE *fp, HEADE
+@@ -2399,6 +2464,10 @@ int mutt_bounce_message (FILE *fp, HEADE
    }
    rfc822_write_address (resent_from, sizeof (resent_from), from, 0);
  
@@ -7540,10 +7126,10 @@ diff -udprP mutt-1.5.16.orig/sendlib.c mutt-1.5.16/sendlib.c
    ret = _mutt_bounce_message (fp, h, to, resent_from, from);
  
    rfc822_free_address (&from);
-diff -udprP mutt-1.5.16.orig/sort.c mutt-1.5.16/sort.c
---- mutt-1.5.16.orig/sort.c    2007-06-06 19:02:56.000000000 +0300
-+++ mutt-1.5.16/sort.c 2007-06-15 17:12:26.000000000 +0300
-@@ -151,6 +151,15 @@ int compare_order (const void *a, const 
+diff -udprP mutt-1.5.19.orig/sort.c mutt-1.5.19/sort.c
+--- mutt-1.5.19.orig/sort.c    2008-10-29 00:29:44.000000000 +0200
++++ mutt-1.5.19/sort.c 2009-01-06 22:27:38.000000000 +0200
+@@ -151,6 +151,15 @@ static int compare_order (const void *a,
    HEADER **ha = (HEADER **) a;
    HEADER **hb = (HEADER **) b;
  
@@ -7559,9 +7145,9 @@ diff -udprP mutt-1.5.16.orig/sort.c mutt-1.5.16/sort.c
    /* no need to auxsort because you will never have equality here */
    return (SORTCODE ((*ha)->index - (*hb)->index));
  }
-diff -udprP mutt-1.5.16.orig/url.c mutt-1.5.16/url.c
---- mutt-1.5.16.orig/url.c     2007-04-11 02:15:42.000000000 +0300
-+++ mutt-1.5.16/url.c  2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/url.c mutt-1.5.19/url.c
+--- mutt-1.5.19.orig/url.c     2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/url.c  2009-01-06 22:27:38.000000000 +0200
 @@ -39,6 +39,8 @@ static struct mapping_t UrlMap[] =
    { "imaps",  U_IMAPS },
    { "pop",    U_POP },
@@ -7571,9 +7157,9 @@ diff -udprP mutt-1.5.16.orig/url.c mutt-1.5.16/url.c
    { "mailto", U_MAILTO },
    { "smtp",     U_SMTP },
    { "smtps",    U_SMTPS },
-diff -udprP mutt-1.5.16.orig/url.h mutt-1.5.16/url.h
---- mutt-1.5.16.orig/url.h     2007-04-11 02:16:09.000000000 +0300
-+++ mutt-1.5.16/url.h  2007-06-15 17:12:26.000000000 +0300
+diff -udprP mutt-1.5.19.orig/url.h mutt-1.5.19/url.h
+--- mutt-1.5.19.orig/url.h     2008-03-19 22:07:57.000000000 +0200
++++ mutt-1.5.19/url.h  2009-01-06 22:27:38.000000000 +0200
 @@ -8,6 +8,8 @@ typedef enum url_scheme
    U_POPS,
    U_IMAP,
@@ -7583,3 +7169,442 @@ diff -udprP mutt-1.5.16.orig/url.h mutt-1.5.16/url.h
    U_SMTP,
    U_SMTPS,
    U_MAILTO,
+diff -udprP mutt-1.5.19.orig/Makefile.am mutt-1.5.19/Makefile.am
+--- mutt-1.5.19.orig/Makefile.am       2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/Makefile.am    2009-01-06 22:27:38.000000000 +0200
+@@ -53,6 +53,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c 
+       mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
+       mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
+       pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
++      nntp.c newsrc.c \
+       smime.c smtp.c utf8.c wcwidth.c \
+       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
+@@ -64,6 +65,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
+       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
+       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
+       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
++      nntp.h ChangeLog.nntp \
+       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
+       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
+       README.SSL smime.h \
+diff -udprP mutt-1.5.19.orig/Makefile.in mutt-1.5.19/Makefile.in
+--- mutt-1.5.19.orig/Makefile.in       2009-01-05 21:24:13.000000000 +0200
++++ mutt-1.5.19/Makefile.in    2009-01-06 22:27:38.000000000 +0200
+@@ -323,6 +323,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c 
+       mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
+       mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
+       pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
++      nntp.c newsrc.c \
+       smime.c smtp.c utf8.c wcwidth.c \
+       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
+@@ -334,6 +335,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
+       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
+       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
+       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
++      nntp.h ChangeLog.nntp \
+       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
+       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
+       README.SSL smime.h \
+@@ -555,6 +557,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_tunnel.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/muttlib.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mx.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newsrc.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nntp.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pager.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patchlist.Po@am__quote@
+diff -udprP mutt-1.5.19.orig/configure mutt-1.5.19/configure
+--- mutt-1.5.19.orig/configure 2008-11-18 01:53:41.000000000 +0200
++++ mutt-1.5.19/configure      2009-01-06 22:27:38.000000000 +0200
+@@ -1359,6 +1359,7 @@ Optional Features:
+                           Force use of an external dotlock program
+   --enable-pop            Enable POP3 support
+   --enable-imap           Enable IMAP support
++  --enable-nntp           Enable NNTP support
+   --enable-smtp           include internal SMTP relay support
+   --enable-debug          Enable debugging support
+   --enable-flock          Use flock() to lock files
+@@ -12547,6 +12548,20 @@ fi
+ fi
+ done
++# Check whether --enable-nntp or --disable-nntp was given.
++if test "${enable_nntp+set}" = set; then
++  enableval="$enable_nntp"
++      if test x$enableval = xyes ; then
++              cat >>confdefs.h <<\_ACEOF
++#define USE_NNTP 1
++_ACEOF
++
++              MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS nntp.o newsrc.o"
++              need_socket="yes"
++      fi
++
++fi;
++
+ for ac_func in strftime
+diff -udprP mutt-1.5.19.orig/doc/Muttrc mutt-1.5.19/doc/Muttrc
+--- mutt-1.5.19.orig/doc/Muttrc        2009-01-06 02:36:17.000000000 +0200
++++ mutt-1.5.19/doc/Muttrc     2009-01-06 22:27:38.000000000 +0200
+@@ -278,6 +278,28 @@ attachments   -I message/external-body
+ # of the value as shown above if included.
+ # 
+ # 
++# set ask_follow_up=no
++#
++# Name: ask_follow_up
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will prompt you for follow-up groups before editing
++# the body of an outgoing message.
++# 
++# 
++# set ask_x_comment_to=no
++#
++# Name: ask_x_comment_to
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will prompt you for x-comment-to field before editing
++# the body of an outgoing message.
++# 
++# 
+ # set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
+ #
+ # Name: attach_format
+@@ -458,6 +480,17 @@ attachments   -I message/external-body
+ # Afterwards the new mail status is tracked by file size changes.
+ # 
+ # 
++# set catchup_newsgroup=ask-yes
++#
++# Name: catchup_newsgroup
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If this variable is set, Mutt will mark all articles in newsgroup
++# as read when you quit the newsgroup (catchup newsgroup).
++# 
++# 
+ # set charset=""
+ #
+ # Name: charset
+@@ -988,6 +1021,19 @@ attachments   -I message/external-body
+ # of the same email for you.
+ # 
+ # 
++# set followup_to_poster=ask-yes
++#
++# Name: followup_to_poster
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If this variable is set and the keyword "poster" is present in
++# Followup-To header, follow-up to newsgroup function is not
++# permitted.  The message will be mailed to the submitter of the
++# message via mail.
++# 
++# 
+ # set force_name=no
+ #
+ # Name: force_name
+@@ -1084,6 +1130,28 @@ attachments   -I message/external-body
+ # ``Franklin'' to ``Franklin, Steve''.
+ # 
+ # 
++# set group_index_format="%4C %M%N %5s  %-45.45f %d"
++#
++# Name: group_index_format
++# Type: string
++# Default: "%4C %M%N %5s  %-45.45f %d"
++# 
++# 
++# This variable allows you to customize the newsgroup browser display to
++# your personal taste.  This string is similar to ``index_format'', but
++# has its own set of printf()-like sequences:
++# 
++# %C      current newsgroup number
++# %d      description of newsgroup (becomes from server)
++# %f      newsgroup name
++# %M      - if newsgroup not allowed for direct post (moderated for example)
++# %N      N if newsgroup is new, u if unsubscribed, blank otherwise
++# %n      number of new articles in newsgroup
++# %s      number of unread articles in newsgroup
++# %>X     right justify the rest of the string and pad with character "X"
++# %|X     pad to the end of the line with character "X"
++# 
++# 
+ # set hdrs=yes
+ #
+ # Name: hdrs
+@@ -1572,6 +1640,7 @@ attachments   -I message/external-body
+ # %E      number of messages in current thread
+ # %f      sender (address + real name), either From: or Return-Path:
+ # %F      author name, or recipient name if the message is from you
++# %g      newsgroup name (if compiled with nntp support)
+ # %H      spam attribute(s) of this message
+ # %i      message-id of the current message
+ # %l      number of lines in the message (does not work with maildir,
+@@ -1587,12 +1656,14 @@ attachments   -I message/external-body
+ #         stashed the message: list name or recipient name
+ #         if not sent to a list
+ # %P      progress indicator for the builtin pager (how much of the file has been displayed)
++# %R      `x-comment-to:' field (if present and compiled with nntp support)
+ # %s      subject of the message
+ # %S      status of the message (``N''/``D''/``d''/``!''/``r''/*)
+ # %t      ``To:'' field (recipients)
+ # %T      the appropriate character from the $to_chars string
+ # %u      user (login) name of the author
+ # %v      first name of the author, or the recipient if the message is from you
++# %W      name of organization of author (`organization:' field)
+ # %X      number of attachments
+ #         (please see the ``attachments'' section for possible speed effects)
+ # %y      ``X-Label:'' field, if present
+@@ -1628,6 +1699,22 @@ attachments   -I message/external-body
+ # ``save-hook'', ``fcc-hook'' and ``fcc-save-hook'', too.
+ # 
+ # 
++# set inews=""
++#
++# Name: inews
++# Type: path
++# Default: ""
++# 
++# 
++# If set, specifies the program and arguments used to deliver news posted
++# by Mutt.  Otherwise, mutt posts article using current connection to
++# news server.  The following printf-style sequence is understood:
++# 
++# %s      newsserver name
++# 
++# Example: set inews="/usr/local/bin/inews -hS"
++# 
++# 
+ # set ispell="ispell"
+ #
+ # Name: ispell
+@@ -1982,6 +2069,18 @@ attachments   -I message/external-body
+ # be attached to the newly composed message if this option is set.
+ # 
+ # 
++# set mime_subject=yes
++#
++# Name: mime_subject
++# Type: boolean
++# Default: yes
++# 
++# 
++# If unset, 8-bit ``subject:'' line in article header will not be
++# encoded according to RFC2047 to base64.  This is useful when message
++# is Usenet article, because MIME for news is nonstandard feature.
++# 
++# 
+ # set mix_entry_format="%4n %c %-16s %a"
+ #
+ # Name: mix_entry_format
+@@ -2091,6 +2190,118 @@ attachments   -I message/external-body
+ # See also $read_inc, $write_inc and $net_inc.
+ # 
+ # 
++# set news_cache_dir="~/.mutt"
++#
++# Name: news_cache_dir
++# Type: path
++# Default: "~/.mutt"
++# 
++# 
++# This variable pointing to directory where Mutt will save cached news
++# articles headers in. If unset, headers will not be saved at all
++# and will be reloaded each time when you enter to newsgroup.
++# 
++# 
++# set news_server=""
++#
++# Name: news_server
++# Type: string
++# Default: ""
++# 
++# 
++# This variable specifies domain name or address of NNTP server. It
++# defaults to the newsserver specified in the environment variable
++# $NNTPSERVER or contained in the file /etc/nntpserver.  You can also
++# specify username and an alternative port for each newsserver, ie:
++# 
++# [news[s]://][username[:password]@]newsserver[:port]
++# 
++# 
++# set newsrc="~/.newsrc"
++#
++# Name: newsrc
++# Type: path
++# Default: "~/.newsrc"
++# 
++# 
++# The file, containing info about subscribed newsgroups - names and
++# indexes of read articles.  The following printf-style sequence
++# is understood:
++# 
++# %s      newsserver name
++# 
++# 
++# set nntp_context=1000
++#
++# Name: nntp_context
++# Type: number
++# Default: 1000
++# 
++# 
++# This variable defines number of articles which will be in index when
++# newsgroup entered.  If active newsgroup have more articles than this
++# number, oldest articles will be ignored.  Also controls how many
++# articles headers will be saved in cache when you quit newsgroup.
++# 
++# 
++# set nntp_load_description=yes
++#
++# Name: nntp_load_description
++# Type: boolean
++# Default: yes
++# 
++# 
++# This variable controls whether or not descriptions for each newsgroup
++# must be loaded when newsgroup is added to list (first time list
++# loading or new newsgroup adding).
++# 
++# 
++# set nntp_user=""
++#
++# Name: nntp_user
++# Type: string
++# Default: ""
++# 
++# 
++# Your login name on the NNTP server.  If unset and NNTP server requires
++# authentification, Mutt will prompt you for your account name when you
++# connect to newsserver.
++# 
++# 
++# set nntp_pass=""
++#
++# Name: nntp_pass
++# Type: string
++# Default: ""
++# 
++# 
++# Your password for NNTP account.
++# 
++# 
++# set nntp_poll=60
++#
++# Name: nntp_poll
++# Type: number
++# Default: 60
++# 
++# 
++# The time in seconds until any operations on newsgroup except post new
++# article will cause recheck for new news.  If set to 0, Mutt will
++# recheck newsgroup on each operation in index (stepping, read article,
++# etc.).
++# 
++# 
++# set nntp_reconnect=ask-yes
++#
++# Name: nntp_reconnect
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# Controls whether or not Mutt will try to reconnect to newsserver when
++# connection lost.
++# 
++# 
+ # set pager="builtin"
+ #
+ # Name: pager
+@@ -3361,6 +3572,19 @@ attachments   -I message/external-body
+ # string after the inclusion of a message which is being replied to.
+ # 
+ # 
++# set post_moderated=ask-yes
++#
++# Name: post_moderated
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If set to yes, Mutt will post article to newsgroup that have
++# not permissions to posting (e.g. moderated).  Note: if newsserver
++# does not support posting to that newsgroup or totally read-only, that
++# posting will not have an effect.
++# 
++# 
+ # set postpone=ask-yes
+ #
+ # Name: postpone
+@@ -3924,6 +4148,41 @@ attachments   -I message/external-body
+ # shell from /etc/passwd is used.
+ # 
+ # 
++# set save_unsubscribed=no
++#
++# Name: save_unsubscribed
++# Type: boolean
++# Default: no
++# 
++# 
++# When set, info about unsubscribed newsgroups will be saved into
++# ``newsrc'' file and into cache.
++# 
++# 
++# set show_new_news=yes
++#
++# Name: show_new_news
++# Type: boolean
++# Default: yes
++# 
++# 
++# If set, newsserver will be asked for new newsgroups on entering
++# the browser.  Otherwise, it will be done only once for a newsserver.
++# Also controls whether or not number of new articles of subscribed
++# newsgroups will be then checked.
++# 
++# 
++# set show_only_unread=no
++#
++# Name: show_only_unread
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, only subscribed newsgroups that contain unread articles
++# will be displayed in browser.
++# 
++# 
+ # set sig_dashes=yes
+ #
+ # Name: sig_dashes
+@@ -4678,3 +4937,14 @@ attachments   -I message/external-body
+ # in this case.
+ # 
+ # 
++# set x_comment_to=no
++#
++# Name: x_comment_to
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will add ``X-Comment-To:'' field (that contains full
++# name of original article author) to article that followuped to newsgroup.
++# 
++# 
index c1d910f5906e4f65d571a871ffce79110b080acc..52d04328388646e2ef7df2a0abc1a3e7d8eabce7 100644 (file)
@@ -1,11 +1,6 @@
-diff -udprP mutt-1.5.9.orig/PATCHES mutt-1.5.9/PATCHES
---- mutt-1.5.9.orig/PATCHES    2005-03-13 18:33:06.000000000 +0200
-+++ mutt-1.5.9/PATCHES 2005-03-13 19:42:58.018681272 +0200
-@@ -0,0 +1 @@
-+vvv.quote
-diff -udprP mutt-1.5.9.orig/globals.h mutt-1.5.9/globals.h
---- mutt-1.5.9.orig/globals.h  2005-02-12 22:01:02.000000000 +0200
-+++ mutt-1.5.9/globals.h       2005-03-13 19:42:58.019681120 +0200
+diff -udprP mutt-1.5.19.orig/globals.h mutt-1.5.19/globals.h
+--- mutt-1.5.19.orig/globals.h 2009-01-04 01:27:10.000000000 +0200
++++ mutt-1.5.19/globals.h      2009-01-06 19:40:35.000000000 +0200
 @@ -24,6 +24,8 @@ WHERE CONTEXT *Context;
  WHERE char Errorbuf[STRING];
  WHERE char AttachmentMarker[STRING];
@@ -15,10 +10,10 @@ diff -udprP mutt-1.5.9.orig/globals.h mutt-1.5.9/globals.h
  #if defined(DL_STANDALONE) && defined(USE_DOTLOCK)
  WHERE char *MuttDotlock;
  #endif
-diff -udprP mutt-1.5.9.orig/handler.c mutt-1.5.9/handler.c
---- mutt-1.5.9.orig/handler.c  2005-02-03 20:47:52.000000000 +0200
-+++ mutt-1.5.9/handler.c       2005-03-13 19:42:58.020680968 +0200
-@@ -91,6 +91,8 @@ void mutt_convert_to_state(iconv_t cd, c
+diff -udprP mutt-1.5.19.orig/handler.c mutt-1.5.19/handler.c
+--- mutt-1.5.19.orig/handler.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/handler.c      2009-01-06 19:40:35.000000000 +0200
+@@ -90,6 +90,8 @@ static void mutt_convert_to_state(iconv_
        if (ob != bufo)
        state_prefix_put (bufo, ob - bufo, s);
      }
@@ -27,7 +22,7 @@ diff -udprP mutt-1.5.9.orig/handler.c mutt-1.5.9/handler.c
      return;
    }
  
-@@ -1725,6 +1727,8 @@ void mutt_decode_attachment (BODY *b, ST
+@@ -1473,6 +1475,8 @@ void mutt_decode_attachment (BODY *b, ST
    int istext = mutt_is_text_part (b);
    iconv_t cd = (iconv_t)(-1);
  
@@ -36,11 +31,20 @@ diff -udprP mutt-1.5.9.orig/handler.c mutt-1.5.9/handler.c
    if (istext && s->flags & M_CHARCONV)
    {
      char *charset = mutt_get_parameter ("charset", b->parameter);
-diff -udprP mutt-1.5.9.orig/init.h mutt-1.5.9/init.h
---- mutt-1.5.9.orig/init.h     2005-03-01 17:56:02.000000000 +0200
-+++ mutt-1.5.9/init.h  2005-03-13 19:42:58.023680512 +0200
-@@ -2124,6 +2124,19 @@ struct option_t MuttVars[] = {
-   ** have no effect, and if it is set to ask-yes or ask-no, you are
+@@ -1542,7 +1546,7 @@ int mutt_body_handler (BODY *b, STATE *s
+        */
+       if ((WithCrypto & APPLICATION_PGP) && mutt_is_application_pgp (b))
+       handler = crypt_pgp_application_pgp_handler;
+-      else if (ascii_strcasecmp ("flowed", mutt_get_parameter ("format", b->parameter)) == 0)
++      else if (ascii_strcasecmp ("flowed", mutt_get_parameter ("format", b->parameter)) == 0 && !s->prefix)
+       handler = rfc3676_handler;
+       else
+       plaintext = 1;
+diff -udprP mutt-1.5.19.orig/init.h mutt-1.5.19/init.h
+--- mutt-1.5.19.orig/init.h    2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/init.h 2009-01-06 19:40:35.000000000 +0200
+@@ -2451,6 +2451,19 @@ struct option_t MuttVars[] = {
+   ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are
    ** prompted for confirmation when you try to quit.
    */
 +  { "quote_empty",    DT_BOOL, R_NONE, OPTQUOTEEMPTY, 1 },
@@ -59,10 +63,10 @@ diff -udprP mutt-1.5.9.orig/init.h mutt-1.5.9/init.h
    { "quote_regexp",   DT_RX,   R_PAGER, UL &QuoteRegexp, UL "^([ \t]*[|>:}#])+" },
    /*
    ** .pp
-diff -udprP mutt-1.5.9.orig/mutt.h mutt-1.5.9/mutt.h
---- mutt-1.5.9.orig/mutt.h     2005-02-28 17:13:57.000000000 +0200
-+++ mutt-1.5.9/mutt.h  2005-03-13 19:42:58.024680360 +0200
-@@ -404,6 +404,8 @@ enum
+diff -udprP mutt-1.5.19.orig/mutt.h mutt-1.5.19/mutt.h
+--- mutt-1.5.19.orig/mutt.h    2008-09-26 01:00:03.000000000 +0300
++++ mutt-1.5.19/mutt.h 2009-01-06 19:40:35.000000000 +0200
+@@ -398,6 +398,8 @@ enum
    OPTPRINTDECODE,
    OPTPRINTSPLIT,
    OPTPROMPTAFTER,
@@ -71,10 +75,10 @@ diff -udprP mutt-1.5.9.orig/mutt.h mutt-1.5.9/mutt.h
    OPTREADONLY,
    OPTREPLYSELF,
    OPTRESOLVE,
-diff -udprP mutt-1.5.9.orig/muttlib.c mutt-1.5.9/muttlib.c
---- mutt-1.5.9.orig/muttlib.c  2005-02-12 21:30:16.000000000 +0200
-+++ mutt-1.5.9/muttlib.c       2005-03-13 19:42:58.026680056 +0200
-@@ -1254,15 +1254,45 @@ void state_prefix_putc (char c, STATE *s
+diff -udprP mutt-1.5.19.orig/muttlib.c mutt-1.5.19/muttlib.c
+--- mutt-1.5.19.orig/muttlib.c 2009-01-05 21:20:53.000000000 +0200
++++ mutt-1.5.19/muttlib.c      2009-01-06 19:40:35.000000000 +0200
+@@ -1497,15 +1497,45 @@ void state_prefix_putc (char c, STATE *s
  {
    if (s->flags & M_PENDINGPREFIX)
    {
@@ -125,3 +129,8 @@ diff -udprP mutt-1.5.9.orig/muttlib.c mutt-1.5.9/muttlib.c
  }
  
  int state_printf (STATE *s, const char *fmt, ...)
+diff -udprP mutt-1.5.19.orig/PATCHES mutt-1.5.19/PATCHES
+--- mutt-1.5.19.orig/PATCHES   2008-03-19 22:07:06.000000000 +0200
++++ mutt-1.5.19/PATCHES        2009-01-06 19:40:35.000000000 +0200
+@@ -0,0 +1 @@
++vvv.quote
This page took 0.488701 seconds and 4 git commands to generate.